GeeXLab
Current version: 0.17.x
»GeeXLab homepage

FurMark
Current version: 1.19.1
»FurMark homepage
»FurMark 1.9.x Submissions

GPU Caps Viewer
Current version: 1.37.0.0
»GPU Caps Viewer homepage
»GPU DB Submissions

GPU Shark
Current version: 0.10.0.4
»GPU Shark homepage


Blogs
»JeGX's HackLab

Geeks3D's Articles
»GPU Memory Speed Demystified

»Multi-Threading Programming Resources

»GeForce and Radeon OpenCL Overview

»How to Get your Multi-core CPU Busy at 100%

»How To Make a VGA Dummy Plug

»Night Vision Post Processing Filter


PhysX FluidMark
Current version: 1.5.2
»FluidMark homepage
»FluidMark 1.4.x Submissions

TessMark
Current version: 0.3.0
»TessMark homepage

ShaderToyMark
Current version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Demoniak3D
Current Version: 1.23.0
»Demoniak3D
»Download
»Libraries and Plugins
»Demos
»Online Help - Reference Guide
»Codes Samples

3D Graphics Search Engine:

The Geeks Of 3D

 
3D Pipeline Of SM3/DX9 GPUs

By Jerome 'JeGX' Guinot - jegx[NO-SPAM-THANKS]ozone3d.net

Initial draft: November 24, 2006


[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Conclusion



7 - Conclusion

Let's sum up this article. The Vertex Processing Unit and the Pixel Processing Unit are the two modules of the 3D pipeline that the developer of 3D application can program in real time. The Vertex Processing Unit is made up of Vertex Pipelines, and executes the same vertex shader in each pipeline. A Vertex Shader is a program written in a shading language and makes it possible to act on the attributes of a vertex (position, vectors normal, color...). The Pixel Processing Unit is composed of Pixel Pipelines and executes the same Pixel Shader in each pipeline. A Pixel Shader is a program written in a shading language and makes it possible to act on the color of a pixel. The Shader Model 3.0 brings new functionalities in shaders programming, of which the most significant is the support of the dynamic branching which allows the execution or not, of certain codepaths in a shader.

At the level of the Vertex Processing Unit, nVidia and ATI GPUs are relatively identical. The difference becomes more evident regarding the Pixel Processing Unit: the Pixel Pipelines of the nVidia GPUs are complex while those of ATI are simple. In the ATI GPU, the threads (groups of fragments processed at the same time) are light (few fragments) while in the nVidia GPU, the threads are heavy (a significant number of fragments). In terms of top-of-the-line GPUs, there are twice as many Pixel Pipelines in ATI than in nVidia. The management of the dynamic branchs on the level of the pixel pipelines is much more powerful with Radeon GPUs. By mastering the operation of the Pixel Processing Unit of Radeon X1950XTX, the latter seems to outclass all the other consumer cards, in terms of performance. Bravo ATI!

I hope to have somewhat cleared up the architecture of SM3/DX9 GPUs and to have sorted out the technical terms which revolve around the description of GPUs. It is not an easy task as each has its own terms. If you, dear reader, note any errors, have any criticisms/remarks or simply do not agree with an explanation, please give me feedback in order to update this tutorial in a constructive manner!



8 - Additional Readings


9 - Downloads


OpenGL Soft Shadows Benchmark
  • [Download Link]



  • [ Index ]

    Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Conclusion





    GeeXLab demos


    GLSL - Mesh exploder


    PhysX 3 cloth demo


    Normal visualizer with GS


    Compute Shaders test on Radeon


    Raymarching in GLSL



    Geeks3D latest news


    Geeks3D forum news


    Misc
    »Texture DataPack #1
    »Asus Silent Knight CPU Cooler
    Page generated in 0.0077219009399414 seconds.