Current version: 0.17.x
»GeeXLab homepage

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

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

GPU Shark
Current version:
»GPU Shark homepage

»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

Current version: 0.3.0
»TessMark homepage

Current version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Current Version: 1.23.0
»Libraries and Plugins
»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]

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

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