Page 2:The General Features Of GeForce3
Page 3:GeForce3's New Vertex Shader - A Poor Name For A Great Set Of Features
Page 4:What Is A Vertex?
Page 6:Vertex Shader Details
Page 7:Programming The Vertex Shader
Page 8:Programming The Vertex Shader, Continued
Page 9:Programming The Vertex Shader, Continued
Page 10:Procedural Deformation
Page 11:Setup For Dot Product Bump Mapping (Per Pixel Bump Mapping)
Page 12:Reflection And Refraction
Page 13:More Effects
Page 14:The Programmable Pixel Shader Of GeForce3
Page 15:What Happens In The 3D-Pipeline Before The Pixel Shader? Continued
Page 16:The Basics Of GeForce3's Pixel Shader
Page 17:2 Textures Per Clock Cycle, But 4 Textures Per Pass?
Page 18:Pixel Shader Programming, Continued
Page 19:Advances And Advantages Of The Pixel Shader
Page 20:Shadow Mapping
Page 21:Isotropic BRDF Based Lighting
Page 22:Blinn Bump Mapping = True Reflective Bump Mapping
Page 23:Anti-Aliasing - Removing The 'Jaggies'
Page 24:Quincunx ! Samples
Page 25:Higher Order Surfaces
Page 26:Higher Order Surfaces, Continued
Page 27:Higher Order Surface
I don't want you to fall asleep and I think I have introduced just about enough effects enabled by GeForce3's new Vertex Shader. Let me just mention the others that NVIDIA considers important so far:
- Creation of realistic looking fur in combination with the new Pixel Shader.
- Vertex Shader controlled particle systems are able to run completely independent from the CPU.
- Underwater light refraction patterns from the water surface are realized by the Vertex Shader with mesh blending.
- Two-sided lighting allows different lighting characteristics of the front and backside of a triangle.
- Silhouette rendering, membrane lighting, rainbow rendering, anisotropic lighting, toon shading are all custom lighting effects that look rather fancy.
- Perlin noise is probably the most popular procedural noise function, and is very useful for things like clouds, smoke, swirling fog, fire, etc. By being able to run Perlin Noise through the Vertex Shader, GeForce3 can essentially generate procedural effects like smoke, fire and clouds independently from the CPU.
- Many point lights - the vertex shader allows a lot more lights per vertex than the 8 lights previously allowed by DirectX7. NVIDIA has an example with 17 diffuse lights. However, the 128-instruction limit is still restricting the number of possible specular lights.
Vertex Shader Summary
There is no doubt that the new opportunities enabled by GeForce3's new Vertex Shader are simply amazing. The implementation of this new 'vertex processor' is marking a quantum leap in terms of possible photo-realism in 3D-applications. Microsoft's upcoming Xbox will also be equipped with this feature and even with a beefier version than GeForce3. The currently known Xbox specifications lead to the conclusion that NVIDIA's Xbox chip will come with two parallel vertex shaders.
Unfortunately there are a few problems as well. First of all will we have to realize that it will take a pretty long time until games will finally take proper advantage of the Vertex Shaders. It does not only take some time until developers will have adopted the huge new feature set of the Vertex Shader, but it will also last quite a while until enough systems will be equipped with graphics cards that support vertex programs. As long as only a (rich) minority of people can and will afford GeForce3 cards, game developers would significantly restrict their audience if they would base their games on vertex shader operations. We should remember how long we had to wait for games that made proper use of integrated T&L. GeForce256 was released late 1999 and even today there are only few games that require integrated T&L for a proper operation.
The second question is about the performance of those nifty vertex programs. Right now we don't know if those great effects will be executed fast enough to make them worthwhile. Lovely looking Blinn bump mapped surfaces won't be much appreciated if they should impact game performance.
The Vertex Shader is a great feature and should be well commended. However, it won't be reason enough to go and buy a GeForce3 card right now.
- The General Features Of GeForce3
- GeForce3's New Vertex Shader - A Poor Name For A Great Set Of Features
- What Is A Vertex?
- Vertex Shader Details
- Programming The Vertex Shader
- Programming The Vertex Shader, Continued
- Programming The Vertex Shader, Continued
- Procedural Deformation
- Setup For Dot Product Bump Mapping (Per Pixel Bump Mapping)
- Reflection And Refraction
- More Effects
- The Programmable Pixel Shader Of GeForce3
- What Happens In The 3D-Pipeline Before The Pixel Shader? Continued
- The Basics Of GeForce3's Pixel Shader
- 2 Textures Per Clock Cycle, But 4 Textures Per Pass?
- Pixel Shader Programming, Continued
- Advances And Advantages Of The Pixel Shader
- Shadow Mapping
- Isotropic BRDF Based Lighting
- Blinn Bump Mapping = True Reflective Bump Mapping
- Anti-Aliasing - Removing The 'Jaggies'
- Quincunx ! Samples
- Higher Order Surfaces
- Higher Order Surfaces, Continued
- Higher Order Surface