In the Forums...
Posted: February 25, 2001
Written by: Tuan "Solace" Nguyen
Programmable Pixel Shaders
What if the game developer could control the way the shading procedure behaves? What if the developer could manipulate a set of pixels one way but another set in different way on the same texture? What if the developer could program the pixel shader itself to do whatever he or she wanted? Then weíd be talking about an infinite number of manipulating possibilities.
The GeForce2 could do Dot3 (Dot Product) and other advanced bump mapping and shading effects on a per-pixel basis.
Only two texture-blend operations per pass in the NSR
Although developers could create wonderful effects in a single pass or multiple passes, there was no loop-back operation. Because the process could not be reapplied to the same pixel over again in different ways, effects that required textures to be read dependently were not possible. While this was definitely a growing limitation, the NSRís fixed pipeline was already capable of creating Dot3 bump mapping very convincingly and realistically. This enabled games to have a great amount of detail without increasing the actual geometric detail of the object.
From the given features, this is the vertex shading pipeline we assume the GF3 will follow
Explained: It is believed and assumed that the GeForce3 will handle four or more textures at a time. Logically, the GeForce3 would have to be able to handle them independantly to accomplish the "infinite" number of effects that Nvidia claims it is capable of doing. Besides juggling textures independantly, they are also able to apply effects to each texture independantly using the DirectX8 shader, as been said by Nvidia.
With the new engine, it is possible to have effects like a texture surface thatís shiny, bumpy, and dynamically changing. Also, with the nfiniteFX engine (programmable pixel and vertex shaders), the developer can custom program the engine itself to do whatever they want it to do from an unlimited number combinations and permutations.
Once the texture combination calls are completed, there can be an unlimited number of combinations that you can do with the 8 texture blends. All of this wraps under the DirectX 8 pixel shaders.
Basically, Nvidia has now made the entire NSR Shading pipeline fully programmable, while at the same time enhancing its texture management and operating capabilities. If you havenít seen some of the basic things the NSR in the GeForce2 can do, Iíve included some screenshots from the hit game Giants: Citizen Kabuto.
Click on the images to see a full size screenshot.
All the images above have been rendered on a GeForce2 Ultra in real time. Weíre talking about in-game screenshots. The game actually looks like this w hen youíre playing it if youíre one of those who havenít had the chance to see Giants. The clouds and sky scenes in Giants is the best in any game Iíve ever seen.
Keep in mind that these are basic functions of the NSR. We havenít even seen the capabilities of the new nfiniteFX engine. Soon though -- all in good time.