This is the Rough Cut version of the printed book.
OpenGL® SuperBible, Seventh Edition, is the definitive programmer’s guide, tutorial, and reference for the world’s leading 3D API for real-time computer graphics, OpenGL 4.5. The best all-around introduction to OpenGL for developers at all levels of experience, it clearly explains both the newest API and indispensable related concepts. You’ll find up-to-date, hands-on guidance for all facets of modern OpenGL development on both desktop and mobile platforms, including transformations, texture mapping, shaders, buffers, geometry management, and much more.
Extensively revised, this edition presents many new OpenGL 4.5 features, including compute shaders, texture views, indirect draws, and enhanced API debugging. It has been reorganized to focus more tightly on the API, to cover the entire pipeline earlier, and to help you thoroughly understand the interactions between OpenGL and graphics hardware.
Coverage includes
Bonus material and sample code will be made available.
Figures
Tables
Examples
Acknowledgments
About the Authors
Foreword
About this Book
The Architecture of the Book
What’s New in this Edition
How to Build the Samples
Errata
Part I: Foundations
Chapter 1: Introduction
OpenGL and the Graphics Pipeline
The Origins and Evolution of OpenGL
Primitives, Pipelines, and Pixels
Summary
Chapter 2: Our First OpenGL Program
Creating a Simple Application
Using Shaders
Drawing Our First Triangle
Summary
Chapter 3: Following the Pipeline
Passing Data to the Vertex Shader
Passing Data from Stage to Stage
Tessellation
Geometry Shaders
Primitive Assembly, Clipping, and Rasterization
Fragment Shaders
Framebuffer Operations
Compute Shaders
Using Extensions in OpenGL
Summary
Chapter 4: Math for 3D Graphics
A Crash Course in 3D Graphics Math
Understanding Transformations
Interpolation, Lines, Curves, and Splines
Summary
Chapter 5: Data
Buffers
Uniforms
Shader Storage Blocks
Atomic Counters
Textures
Summary
Chapter 6: Shaders and Programs
Language Overview
Compiling, Linking, and Examining Programs
Summary
Part II: In Depth
Chapter 7: Vertex Processing and Drawing Commands
Vertex Processing
Drawing Commands
Storing Transformed Vertices
Clipping
Summary
Chapter 8: Primitive Processing
Tessellation
Geometry Shaders
Summary
Chapter 9: Fragment Processing and the Framebuffer
Fragment Shaders
Per-Fragment Tests
Color Output
Off-Screen Rendering
Antialiasing
Advanced Framebuffer Formats
Point Sprites
Getting at Your Image
Summary
Chapter 10: Compute Shaders
Using Compute Shaders
Examples
Summary
Chapter 11: Advanced Data Management
Eliminating Binding
Sparsely-Populated Textures
Texture Compression
Packed Data Formats
High Quality Texture Filtering
Summary
Chapter 12: Controlling and Monitoring the Pipeline
Queries
Synchronization in OpenGL
Summary
Part III: In Practice
Chapter 13: Rendering Techniques
Lighting Models
Non Photo-Realistic Rendering
Alternative Rendering Methods
Two-Dimensional Graphics
Summary
Chapter 14: High Performance OpenGL
Optimizing CPU Performance
Low-Overhead OpenGL
Performance Analysis Tools
Summary
Chapter 15: Debugging and Stability
Debugging Your Applications
Security and Robustness
Summary
Appendix A: The SuperBible Tools
Appendix B: The SBM File Format
Appendix C: OpenGL Features and Versions
List of OpenGL Functions
Functions Introduced by OpenGL Extensions
Glossary
Index