Transparent shader-based Direct3D9 application parallelization for graphics cluster

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.