Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
63 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:

Contents
 Introduction
 Vertex Shaders
 in the Pipeline

 Why use Vertex
 Shaders?

 Vertex Shader Tools
 Vertex Shader
 Architecture

 High Level View of
 Vertex Shader
 Programming

 Conclusion

 Printable version
 Discuss this article
 in the forums


The Series
 Fundamentals of
 Vertex Shaders

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:

  • Procedural Geometry (cloth simulation, soap bubble)
  • Advanced Vertex Blending for Skinning and Vertex Morphing (tweening)
  • Texture Generation
  • Advanced Keyframe Interpolation (complex face expression and speech)
  • Particle Systems
  • Real-Time Modifications of the Perspective View (lens effects, underwater effect)
  • Advanced Lighting Models (often in cooperation with the pixel shader)
  • First Steps to Displacement Mapping

... 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.





Next : Vertex Shader Tools