"OpenGL(R) SuperBible, Sixth Edition, " is the definitive programmer's guide, tutorial, and reference for the world's leading 3D API for real-time computer graphics, OpenGL 4.3. 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.3 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
A practical introduction to the essentials of realtime 3D graphics
Core OpenGL 4.3 techniques for rendering, transformations, and texturing
Foundational math for creating interesting 3D graphics with OpenGL
Writing your own shaders, with examples to get you started
Cross-platform OpenGL, including essential platform-specific API initialization material for Linux, OS X, and Windows
Vertex processing, drawing commands, primitive processing, fragments, and framebuffers
Using compute shaders to harness today's graphics cards for more than graphics
Monitoring and controlling the OpenGL graphics pipeline
Advanced rendering: light simulation, artistic and non-photo-realistic rendering, and deferred shading
Modern OpenGL debugging and performance optimization
"Bonus material and sample code are available from the companion Web site, "openglsuperbible.com.
Author(s): Graham Sellers; Nicholas Haemel; Richard S. Wright Jr.
Edition: 6
Publisher: Addison-Wesley Professional
Year: 2013
Language: English
Pages: 848
Contents
Figures
Tables
Listings
Foreword
Preface
About This Book
The Architecture of the Book
What’s New in This Edition
How to Build the Samples
Errata
Acknowledgments
About the Authors
I: Foundations
1 Introduction
OpenGL and the Graphics Pipeline
The Origins and Evolution of OpenGL
Primitives, Pipelines, and Pixels
Summary
2 Our First OpenGL Program
Creating a Simple Application
Using Shaders
Drawing Our First Triangle
Summary
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
Summary
4 Math for 3D Graphics
Is This the Dreaded Math Chapter?
A Crash Course in 3D Graphics Math
Understanding Transformations
Interpolation, Lines, Curves, and Splines
Summary
5 Data
Buffers
Uniforms
Shader Storage Blocks
Atomic Counters
Textures
Summary
6 Shaders and Programs
Language Overview
Compiling, Linking, and Examining Programs
Summary
II: In Depth
7 Vertex Processing and Drawing Commands
Vertex Processing
Drawing Commands
Storing Transformed Vertices
Clipping
Summary
8 Primitive Processing
Tessellation
Geometry Shaders
Summary
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
10 Compute Shaders
Using Compute Shaders
Examples
Summary
11 Controlling and Monitoring the Pipeline
Queries
Synchronization in OpenGL
Summary
III: In Practice
12 Rendering Techniques
Lighting Models
Non-Photo-Realistic Rendering
Alternative Rendering Methods
Summary
13 Debugging and Performance Optimization
Debugging Your Applications
Performance Optimization
Summary
14 Platform Specifics
Using Extensions in OpenGL
OpenGL on Windows
OpenGL on Mac OS X
OpenGL on Linux
OpenGL on Mobile Platforms
Summary
A: Further Reading
B: The SBM File Format
C: The SuperBible Tools
Glossary
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
V
W
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z