Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Includes Complete Coverage of the OpenGL® Shading Language!

Today’s OpenGL software interface enables programmers to produce extraordinarily high-quality computer-generated images and interactive applications using 2D and 3D objects, color images, and programmable shaders.

OpenGL® Programming Guide: The Official Guide to Learning OpenGL®, Version 4.3, Eighth Edition, has been almost completely rewritten and provides definitive, comprehensive information on OpenGL and the OpenGL Shading Language. This edition of the best-selling “Red Book” describes the features through OpenGL version 4.3. It also includes updated information and techniques formerly covered in OpenGL® Shading Language (the “Orange Book”).

For the first time, this guide completely integrates shader techniques, alongside classic, functioncentric techniques. Extensive new text and code are presented, demonstrating the latest in OpenGL programming techniques.

OpenGL® Programming Guide, Eighth Edition, provides clear explanations of OpenGL functionality and techniques, including processing geometric objects with vertex, tessellation, and geometry shaders using geometric transformations and viewing matrices; working with pixels and texture maps through fragment shaders; and advanced data techniques using framebuffer objects and compute shaders.

New OpenGL features covered in this edition include

  • Best practices and sample code for taking full advantage of shaders and the entire shading pipeline (including geometry and tessellation shaders)

  • Integration of general computation into the rendering pipeline via compute shaders

  • Techniques for binding multiple shader programs at once during application execution

  • Latest GLSL features for doing advanced shading techniques

  • Additional new techniques for optimizing graphics program performance

Subscriber Reviews

Average Rating: 4.333333333333333 out of 5 rating Based on 6 Ratings

"Requires some hax0ring to work on Linux" - by SFO_Porter on 12-JUL-2014
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Source examples are designed to compile on Windoze, so the learning curve is steeper if you are coming to this from a Linux or Mac environment.

In a way this is a mixed blessing for advanced students: you will be forced to rework the examples to get them compiling, debugged, and running in your environment.  Caveat emptor!

Report as Inappropriate

"First chapter example is hard to run correctly" - by Michel on 10-MAR-2014
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
It seems the example of the 1st chapter isn't really meant to be run! After managing to display the 2 triangles, I now have a good understanding of my Linux setup :-)

This git repository helped me:

And the following examples don't compile either. I gave up :-(

Report as Inappropriate

"5star" - by Anonymous on 26-NOV-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


These links have been provided by the publisher.

  • Companion Web site