9.11. Further Information
3Dlabs has made available a nifty tool for comparing fixed functionality behavior with equivalent shaders. With this application, called ShaderGen, you can set up OpenGL state and view fixed functionality behavior, and then, with a single mouse click, cause the application to automatically generate equivalent GLSL shaders. You can then examine, edit, compile, and link the generated shaders. You can easily switch between fixed functionality mode and programmable shader mode and compare results. Through the graphical user interface, you can also modify the state that affects rendering. Full source code for this application is also available.
The OpenGL Programming Guide, Fifth Edition, by the OpenGL Architecture Review Board, Woo, Neider, Davis, and Shreiner (2005), contains more complete descriptions of the various formulas presented in this chapter. The functionality is defined in the OpenGL specification, The OpenGL Graphics System: A Specification, (Version 2.0), by Mark Segal and Kurt Akeley, edited by Jon Leech and Pat Brown (2004). Basic graphics concepts like transformation, lighting, fog, and texturing are also covered in standard graphics texts such as Introduction to Computer Graphics by Foley, van Dam, et al., (1994).
Real-Time Rendering, by Akenine-Möller and Haines (2002), also contains good descriptions of these basic topics.