Advances And Advantages Of The Pixel Shader
We know now that the pixel shader can be programmed in lots of different ways and we have also learned that it requires a lot less memory bandwidth if more than 2 textures are used per pixel. What else can the pixel shader tell us for itself?
Here is a list of GeForce3's new Pixel Shader features:
- Shadow Mapping
- Faster texture loads
- Image convolution, up to 8x8 symmetric kernels
- 4096x4096 or 512x512x512 textures
- Cube map sides can be up to 4096 x 4096 x 32 bit
- YUYV textures (converted to RGB in back end)
- Full image mode texture support
Point to any image, e.g. back buffer, and use it directly as texture
- Border colors and border textures
- Hardware read/write synchronization
Allows full pipelining when mixing reads and writes to the same texture map.
You can render to the back buffer then immediately use it as texture map.
- Pass through colors
- DX6 bump environment/luminance mapping (aka 'environment mapped bump mapping')
- Simple dependent texture, S,T in alpha/red (AB) and blue/green (BG)
- Isotropic Bi-Directional Reflectance Distribution Function based lighting (BRDF)
- Dot product based textures for color or Z
- True reflective bump mapping
You'll admit that this is a lovely long list and still nobody knows what's going on. Since this article is becoming terribly long I will explain only a few of those new features.