1. Shader length
Allows for longer shader programmes to do more complex effects. Where complex effects are obtained by concatenating routines in a lower shader model, doing them in the next one up provides performance benefits.
2. Dynamic branching
Allows for a much more elegant conditional (if, then
) structure than using nested looping. 1.1 Shaders are not even able to use this, limiting what can be done.
3. The backface register
Allows for two lighting calculations to be done in one pass, speeding up those operations.
4. Colour depth
Allows for more accurate and dramatic colour representation.
5. Nested looping
An improvement to the base 2.0 model, which appears in 2.0b, supported by ATI.
6. Vertex texture lookups
Allows for displacement and parallax mapping, to give the effect of height to textures.
Well, the simple conclusions are these. Shader Model 3.0 is going to be here for quite a long while - WGF is not going to be around until late 2006, and the specification changes in terms of shaders are not going to be huge. NVIDIA clearly has an advantage at this moment in time - Shader Model 3.0 games are now really starting to come out in big numbers, and there appears to be little sense, in terms of graphics quality, in buying an ATI card at the moment - with the lack of support leading to poorer image quality in Shader Model 3.0 games. Roll on R520...