The GeForce 3 & the NV20 Demystified!

Friday, March 02, 2001

nfiniteFX

The speed with which images are draw to a computer screen (the frame rate), is only one aspect of the graphical reproduction. Image quality, after all, also counts for a lot, and the lack of it can effectively render the frame rate moot. Thus, the augmentation in the sheer power of graphics cards, as large as it has been over the years, counts for little in the grand balance of things if it is not accompanied by a high graphical quality.

As a fact, the reason why so many have been facsinated by the leaps made by succeeding generations of GPUs from the TNT2 to the GeForce 2 GTS, has really been due to the better graphical effects that have been made possible by off-loading certain calculations from the CPU, to the graphics chipset itself.

For example, with the advent of the GeForce 256, GeForce 2 GTS, and GeForce 2 GTS Ultra, users began to benefit from Transform & Lighting effects that were handled by the graphics hardware, rather than being allocated to the CPU form processing. We've also benefited from the Nvidia Shading Rasterizer (NSR), which was only recently introduced. The NSR permits textures and lighting effects that are much more dramatic than previously realized.

That said, if programmers don't have the time or experience necessary to take full advantage of the NSR, it's at least in part due to the limitations imposed by its design. The NSR's available functions are fixed in nature, and programmers are thus unable to modify them to their needs.

This is precisely where nfiniteFX comes in. Its entirely programmable design permits the application of an infinite number of effects through the use of Vertex Shading, and Pixel Shading. Thanks to this new technology, programmers can now code any number of personalized visual effects to call upon at their leisure.

As you can guess, the two new features that make the programmability of the nfiniteFX feasible are the Vertex Shader, and the Pixel Shader.

Next: The Vertex Shader.