OpenGL(R) Shading Language, Third Edition, extensively updated for OpenGL 3.1, is the experienced application programmer's guide to writing shaders. Part reference, part tutorial, this book thoroughly explains the shift from fixed-functionality graphics hardware to the new era of programmable graphics hardware and the additions to the OpenGL API that support this programmability. With OpenGL and shaders written in the OpenGL Shading Language, applications can perform better, achieving stunning graphics effects by using the capabilities of both the visual processing unit and the central processing unit. In this book, you will find a detailed introduction to the OpenGL Shading Language (GLSL) and the new OpenGL function calls that support it. The text begins by describing the syntax and semantics of this high-level programming language. Once this foundation has been established, the book explores the creation and manipulation of shaders using new OpenGL function calls. OpenGL(R) Shading Language, Third Edition, includes updated descriptions for the language and all the GLSL entry points added though OpenGL 3.1 , as well as updated chapters that discuss transformations, lighting, shadows, and surface characteristics. The third edition also features shaders that have been updated to OpenGL Shading Language Version 1.40 and their underlying algorithms, including * Traditional OpenGL fixed functionality * Stored textures and procedural textures * Image-based lighting * Lighting with spherical harmonics * Ambient occlusion and shadow mapping * Volume shadows using deferred lighting * Ward's BRDF model The color plate section illustrates the power and sophistication of the OpenGL Shading Language. The API Function Reference at the end of the book is an excellent guide to the API entry points that support the OpenGL Shading Language.
Bill M. Licea-Kane,Randi J. Rost,Dan Ginsburg,John M. Kessenich,Barthold Lichtenbelt
Randi J. Rost was a core contributor to the development of the OpenGL Shading Language and the OpenGL API that supports it, as well as one of the first programmers to design and implement shaders using this technology. Randi works at Intel. Bill Licea-Kane is chair of the ARB OpenGL Shading Language workgroup. Bill is a principal member of technical staff at AMD.