Vertex shader and pixel shader are new programmable units of Graphics Processing Unit (GPU). According to their architecture and Direct3D9 application execution flow on single node, we present transparent shader-based Direct3D9 application parallelization strategy. We has divided graphics cluster into two types of logical node, i.e. resource distributing node (D-Node) and resource rendering node (R-Node). Among them, D-Node is responsible for converting Direct3D9 application to six kinds of rendering resource, including command stream, vertex shader, pixel shader, vertex stream, index stream and texture stream, R-Node is responsible for reconstructing Direct3D9 interface rendering command based on the description information and resource data of received rendering resource. Each R-Node distributes rendering task by computing the bounding box of multi-stream based scene data in the screen space. Experimental results have shown that this strategy can realize transparent shader-based Direct3D9 application parallelization and support high-resolution tiled display. In contrast to single node rendering, four nodes parallel rendering based on graphics cluster can not only promote rendering performance but also achieve average speedup at 2.9.
[1]
Adam Finkelstein,et al.
Building and Using A Scalable Display Wall System
,
2000,
IEEE Computer Graphics and Applications.
[2]
Gordon Stoll,et al.
WireGL: a scalable graphics system for clusters
,
2001,
SIGGRAPH.
[3]
Bruno Ra.
A Shader-Based Parallel Rendering Framework
,
2005
.
[4]
Tomas Akenine-Möller,et al.
Real-Time Rendering, Second Edition
,
2002
.
[5]
Jérémie Allard,et al.
FlowVR: A Middleware for Large Scale Virtual Reality Applications
,
2004,
Euro-Par.
[6]
Tomas Akenine-Möller,et al.
Real-time rendering
,
1997
.
[7]
Matt Pharr,et al.
Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation
,
2005
.
[8]
Greg Humphreys,et al.
Chromium: a stream-processing framework for interactive rendering on clusters
,
2002,
SIGGRAPH.
[9]
Frank D. Luna.
Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach
,
2003
.