OpenGL Programming Guide The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V

by ; ;
  • ISBN13:


  • ISBN10:


  • Edition: 9th
  • Format: Paperback
  • Copyright: 2016-07-08
  • Publisher: Addison-Wesley Professional

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

List Price: $59.99 Save up to $29.99
  • Rent Book $30.00
    Add to Cart Free Shipping Icon Free Shipping

    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?


Complete Coverage of OpenGL® 4.5—the Latest Version (Includes 4.5, 4.4, SPIR-V, and Extensions)


The latest version of today’s leading worldwide standard for computer graphics, OpenGL 4.5 delivers significant improvements in application efficiency, flexibility, and performance. OpenGL 4.5 is an exceptionally mature and robust platform for programming high-quality computer-generated images and interactive applications using 2D and 3D objects, color images, and shaders.


OpenGL® Programming Guide, Ninth Edition, presents definitive, comprehensive information on OpenGL 4.5, 4.4, SPIR-V, OpenGL extensions, and the OpenGL Shading Language. It will serve you for as long as you write or maintain OpenGL code.


This edition of the best-selling “Red Book” fully integrates shader techniques alongside classic, function-centric approaches, and contains extensive code examples that demonstrate modern techniques. Starting with the fundamentals, its wide-ranging coverage includes drawing, color, pixels, fragments, transformations, textures, framebuffers, light and shadow, and memory techniques for advanced rendering and nongraphical applications. It also offers discussions of all shader stages, including thorough explorations of tessellation, geometric, and compute shaders.


New coverage in this edition includes

  • Thorough coverage of OpenGL 4.5 Direct State Access (DSA), which overhauls the OpenGL programming model and how applications access objects
  • Deeper discussions and more examples of shader functionality and GPU processing, reflecting industry trends to move functionality onto graphics processors
  • Demonstrations and examples of key features based on community feedback and suggestions
  • Updated appendixes covering the latest OpenGL libraries, related APIs, functions, variables, formats, and debugging and profiling techniques

Author Biography

John Kessenich is senior compiler architect at LunarG, and has been active in OpenGL, GLSL, Vulkan, and SPIR-V development at Khronos since 1999. He created the initial SPIR-V intermediate language and is the SPIR-V specification editor. He is also the GLSL specification editor and is active in creating shader compiler tools and translators for increased portability of these standards.


Graham Sellers is the API lead on the Vulkan spec. He is AMD Software Architect and Engineering Fellow and represents AMD at the OpenGL ARB. He has actively contributed to the core Vulkan and OpenGL specs and extensions, and holds several graphics and image processing patents.


Dave Shreiner is a twenty-five year veteran of the computer graphics industry, where he’s worked almost exclusively with programming interfaces like OpenGL. In addition to having written and taught instructional courses on using computer graphics APIs, he was also the lead author for almost ten years on several Addison-Wesley publications relating to computer graphics.

Table of Contents

1. Introduction to OpenGL
2. Shader Fundamentals
2.1. Add using SPIR-V subsection here
3. Drawing with OpenGL
4. Color, Pixels, and Framebuffers
5. Viewing Transformations and Clipping
6. Textures
7. Light and Shadow
8. Procedural Texturing
9. Tessellation Shaders
10. Geometry Shaders
11. Memory
12. Compute Shaders
A. Basics of GLUT
B. OpenGL ES and WebGL
C. Built-in GLSL Variables and Functions
D. State Variables
E. Homogeneous Coordinates and Transformation Matrices
F. OpenGL and Window Systems
G. Floating-Point Formats for Textures, Framebuffers, and Renderbuffers
H. Debugging and Profiling OpenGL
I. Buffer Object Layouts

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program