Font Size: a A A

Research And Implementation Of D3DPR: A Parallel Rendering System For Transparent Direct3D9 Application Parallelization

Posted on:2008-01-24Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z LiuFull Text:PDF
GTID:1118360242972940Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the rendering dataset scale in many fields, such as scientific computation, huge geometry scene rendering and virtual reality, has become very huge, not only the rendering ability of computer graphics system about its speed and photoreality has been challenged, but also the resolution and detail display technology of graphics has been brought forward higher demand. In order to solve the problem, using graphics cluster based parallel rendering system to drive tiled display has become hot research topic in computer graphics field. Since early research has focused on OpenGL-based parallel rendering system, Direct3D-based parallel rendering system still remains blank. Along with the rapid development of Direct3D and urgent demand of improving parallel rendering technique, it is imperious to develop Direct3D-based parallel rendering system.According to Direct3D9 library features, including COM-based rendering interface, multi-stream based scene organization and three types of memory storage mode, such as system memory, AGP memory and graphics card memory, the technique for transparent Direct3D9 application parallelization based on graphics cluster has been firstly presented. That is to say that Direct3D9 application can be converted to run on graphics cluster real time with no modification. This dissertation has implemented D3DPR parallel rendering system for transparent Direct3D9 application parallelization. And the main contribution is as follows:Firstly, the rendering resource definition and transparent parallelization strategy of D3DPR system has been presented. In D3DPR, rendering resource can be defined as vertex stream in vertex buffer, index stream in index buffer, texture stream in texture memory, vertex shader, pixel shader and command stream formed by multiple interface method calls that Direct3D9 application has used, which can record entire scene data and rendering state information of Direct3D9 application. D3DPR system has implemented transparent Direct3D9 application parallelization making using of rendering resource interception and rendering resource reconstruction.Secondly, the logical and implemental architecture of D3DPR system has been brought forward. The logical architecture of D3DPR has divided graphics cluster into resource distribution node and resource reconstruction node. Resource distribution node is comprised of three function modules, i.e. rendering resource interception, rendering resource distribution and rendering resource transmission; Resource reconstruction node consists of five function modules, i.e. rendering resource reception, rendering resource reconstruction, rendering task distribution; rendering interface method execution and geometry and color calibration. The implemental architecture of D3DPR system researches the implementation theory and technique of each function module. It accomplishes that not only Direct3D9 application is converted into rendering resource and their descriptive information on resource distribution node, but also COM-based interface methods are reconstructed continuously according to the received rendering resource and their descriptive information on resource rendering node. What's more, network transmission is implemented through MPI broadcast mode in the same group; System synchronization is completed through combined shared memory map file technique with message mechanism and MPI barrier function; Integrated with geometry and color calibration data is achieved by two-pass rendering technique.Thirdly, rendering task distribution strategy based on multi-stream scene data organization mode has been put forward. In essence, it redistributes multi-stream scene data in vertex buffer and index buffer according to fixed tiled display space partition. On the side, three key steps have been discussed, for example vertex buffer and index buffer interpretation, index buffer division and new index buffer mapped with vertex buffer.Fourthly, transparent shader-based Direct3D9 application parallelization has been presented, which allows D3DPR system to integrate the programmable GPU function of all graphics nodes. Shader is programmed by Effect framework, parallelization technique involves in extended rendering resource, parallel rendering process, shader interception and reconstruction, registers input interception and reconstruction.Finally, D3DPR system is tested and analyzed wholly through experimental example. The experimental results have demonstrated that D3DPR system has accomplished transparent both fixed function and shader based Direct3D9 application parallelization. In addition, D3DPR system has not only achieved to support tiled display, but also improved rendering efficiency to a great extent.
Keywords/Search Tags:Graphics Cluster, Direct3D9, Rendering Resource, Interception, Reconstruction, Task Distribution, Shader
PDF Full Text Request
Related items