Why use Vertex Shaders?If you use Vertex Shaders, you skip the fixed-function pipeline or Transform and Lighting (T&L) pipeline. So why would you want to skip them? Because the hardware of a traditional T&L pipeline doesn't support all of the popular vertex attribute calculations on its own, there is often a job sharing between the geometry engine and the CPU. This leads sometimes to redundancy. There is also a lack of freedom. A lot of games look similar with the hard-wired T & L pipeline. This fixed-function pipeline doesn't give the developer the freedom he needs to develop unique and revolutionary graphical effects. The procedural model used with vertex shaders allows a more general syntax for specifying common operations. With the flexibility of the vertex shaders developers are able to do:
... and there are a lot moreeffects possible with vertex shaders, perhaps effects that nobody has thought of before. Just take a look at the SIGGRAPH papers from the last years and try to implement new geometry and lighting equitation's in vertex shaders that until now only in the scientific field realized. Besides these new possibilities, the procedural programming model is more scalable. It is an easy mechanism for developing new operations for evolving hardware capabilities, and the addition of new instructions and new registers happens in a more intuitive way for developers. |