Brought to you with the collaboration of the industry's leading hardware vendors, this day-long tutorial provides an advanced look at the latest technologies in OpenGL. Highly programmable GPUs are moving rapidly into mainstream use, and they fundamentally change the nature of 3D programming. It is no longer sufficient to simply render textured polygons. Quality shading requires a firm grasp of the advanced features available on today's hardware. This course covers many advanced rendering topics in detail, starting with the mathematical principles behind them. Then, the corresponding OpenGL interfaces are presented, and followed by suggested applications for next generation games. Finally, demos are shown to illustrate the concepts. The techniques presented not only increase realism in games, but also increase performance by offloading many operations onto the GPU that were previously performed on the CPU.
Recent research has shown how stenciled shadow volumes can be integrated into a game engine robustly, but making the rendering of stenciled shadow volumes efficient is more involved. Stenciled shadow volumes consume both CPU time needed to determine silhouette boundaries and substantial GPU fill-rate needed during shadow volume rendering. Fast "possible silhouette" determination and stenciled shadow volume culling and scissoring approaches minimize both the GPU and CPU burden and are vital for acceptable performance.