Shader Model 3.0
General information about Microsoft's Shader Model 3.0 as incorporated in DirectX 9.0c has been accessible for a while. Now, the basic parameters have been finalized. As NVIDIA likes to emphasize, this model was developed hand in hand with Microsoft. Does that mean that we can expect another performance leap similar to what we saw a year and a half ago with the Shader Model 2.0, which was jointly developed by MS and ATi?
At present, that question is rather hard to answer. We do know, however, that the GeForce 6800 fulfills all requirements of the new shader model. There's a good chance the same will hold true for the rest of the NV4x family. At this point, the most interesting question is therefore what ATi will do. The new minimum requirement of 32 Bit floating point precision may prove troublesome for ATi if the company is planning on staying with the 24 Bit implementation.
3D developers in forums everywhere are also debating the potential that the new shader model brings to the table for game development. Gamers are wondering how long it will take before they see any real benefit from the switch to SM3.0. It seems certain that the changeover will occur faster than that from SM1.x (DirectX 8.x) to SM2.x (DirectX 9), as nowadays most of the optimization work is done by compilers. All developers need to do is set a few options and voila - they either get a shader optimized for SM2.x or 3.x (Well, I don't think it's that easy in the end...). This should make it relatively easy and painless to convert a game to the newer shader model. Of course, the question remains whether developers and gamers will see any benefit from such a conversion at this point and whether the NV4x generation will actually be fast enough for longer and more complex shader programs.
NVIDIA has created a showcase of possible applications for developers and coders which can be viewed here .
While NVIDIA is loudly and proudly advertising the new shader model, ATi is attempting to downplay it. A wonderful and quite humorous example of this tactic is a developer presentation titled "Save the Nanosecond" by ATIs Richard Huddy which was accidentally leaked on the internet. The trouble was, the presentation still sported some personal notes which made it clear that the presenter was trying to convince developers to stay away from Flow Control in PS3.0, as it incurs a very tangible performance hit. Quote:
"Steer people away from flow control in ps3.0 because we expect it to hurt badly. [Also it's the main extra feature on NV40 vs R420 so let's discourage people from using it until R5xx shows up with decent performance...]"
Internet forums everywhere are still tied up in all sorts of debates about how this statement should best be interpreted. One way of reading this quote would be that ATi's upcoming chips are either still too slow for this feature or simply aren't designed for it. Another would be that it won't be until the generation of cards following the one being launched now, that graphics accelerators will be able to cope with the complexity caused by this feature...
So, as usual, all we can do for now is sit and wait. Nonetheless, there are also interesting announcements making the rounds. For example, the current FarCry patch will supposedly add support for SM3.0. We're looking forward to seeing the results!
To finish off this section, here are a few examples that NVIDIA has furnished to show off the capabilities of the GeForce 6800 Ultra and SM3.0.