In the Forums...
Posted: April 26, 2000
Written by: Dan "Tweak Monkey" Kennedy
Remember Your Roots: PCI Support
Nvidia skipped the PCI market (for the most part) with the TNT2 Ultra and GeForce 256 cards. Luckily, for those stuck with on-board video, no AGP, or an older system, the GeForce 2 GTS will be released with PCI versions. Nvidia's partners have expressed interest in this market.
NSR: Nvidia Shading Rasterizer
Likely one of the most significant feature for the GeForce 2 GTS is the inclusion of what Nvidia calls the Nvidia Shading Rasterizer or the NSR. What is the NSR? We canít tell you what it is, you just have to s-- okay, enough Matrix stuff. But as a matter of fact, it is a matrix. It is a one by seven matrix. The NSR is a radically new rendering engine. It can juggle 7 pixels in a single pass applying advanced per-pixel shading effects.
What is per-pixel shading? Itís a method of applying special rendering effects... per pixel. It allows material and real world effects to be applied individually to a pixel for more accuracy and intensity. Per-pixel shading will redefine the visual look and feel of imagery for PC graphics. Per-pixel shading has long been used in film production to create a more realistic and lifelike appearance for computer generated imagery. If youíve seen Toy Story, youíll definitely remember Buzz Lightyear. Remember the translucent reflection on Buzzís helmet? How the environment and light streaks reflected off the glass but also let the image underneath show through? That was done with per-pixel shading. Until now, it wasnít practical to use per-pixel shading on a PC because of the intense power and processing requirements needed. Sure, you could have done that in 3D Studio but could you have done it in real-time? Could the effect be applied to an entire frame at high resolution in 1/60th of a second? Not until now.
Per-pixel shading is useful for simulating natural phenomena and accurate surface attributes such as fur, cloth, metals, glass, rock, and other highly detailed surfaces.
Traditionally, effects were done on an entire triangle and sometimes an entire texture using a technique called interpolation. Special effects were done using calculations based on the vertices of the triangle and interpolating the entire area from the vertices. The end result is a generalized visual appearanceÖ like an estimate or approximation of the final image. The benefit of using interpolation is it is fast to apply. But, the downside to it is that with large triangles, the resulting image contains artifacts, which degrades overall image accuracy and quality.
Using per-pixel shading, effects and calculations are applied to individual pixels. Since the triangle will be composed of many pixels, the resulting image is highly accurate in representing what the image was intended to be. Letís assume that a generic triangle is drawn together (including its area) using 100 pixels. Now, we also have a effect pallet of 10 effects. Each pixel then, can accept any one of the ten that are available. Thatís an outcome of 10,000 different possible effects just for that one triangle. If interpolation was used, than the effect is fixed using that one out of ten effects and generalized across the entire triangle. Below is a visual comparison between interpolation and per-pixel shading.
The action doesnít stop there. This entire section was assuming that one pixel was being manipulated in one pass. The GeForce 2 contains 4 pixel pipelines... enabling seven effects per pixel, per pipeline, per pass!