Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
| Figure 1-1 | OpenGL ES 2.0 Graphics Pipeline | 4 |
| Figure 1-2 | OpenGL ES 2.0 Vertex Shader | 5 |
| Figure 1-3 | OpenGL ES 2.0 Rasterization Stage | 7 |
| Figure 1-4 | OpenGL ES 2.0 Fragment Shader | 8 |
| Figure 1-5 | OpenGL ES 2.0 Per-Fragment Operations | 9 |
| Figure 2-1 | Hello Triangle Example | 25 |
| Figure 5-1 | Uniform Storage without Packing | 95 |
| Figure 5-2 | Uniform Storage with Packing | 95 |
| Figure 5-3 | Z Fighting Artifacts Due to Not Using Invariance | 98 |
| Figure 5-4 | Z Fighting Avoided Using Invariance | 99 |
| Figure 6-1 | Triangle with a Constant Color Vertex and Per-Vertex Position Attributes | 101 |
| Figure 6-2 | Position, Normal, and Two Texture Coordinates Stored As an Array | 105 |
| Figure 6-3 | Selecting Constant or Vertex Array Vertex Attribute | 109 |
| Figure 6-4 | Specifying and Binding Vertex Attributes for Drawing a Primitive(s) | 114 |
| Figure 7-1 | Triangle Primitive Types | 128 |
| Figure 7-2 | Line Primitive Types | 129 |
| Figure 7-3 | gl_PointCoord Values | 131 |
| Figure 7-4 | Cube | 133 |
| Figure 7-5 | Connecting Triangle Strips | 135 |
| Figure 7-6 | OpenGL ES Primitive Assembly Stage | 137 |
| Figure 7-7 | Coordinate Systems | 137 |
| Figure 7-8 | Viewing Volume | 138 |
| Figure 7-9 | OpenGL ES Rasterization Stage | 141 |
| Figure 7-10 | Clockwise and Counterclockwise Triangles | 142 |
| Figure 7-11 | Polygon Offset | 144 |
| Figure 8-1 | OpenGL ES 2.0 Programmable Pipeline | 147 |
| Figure 8-2 | OpenGL ES 2.0 Vertex Shader | 149 |
| Figure 8-3 | Geometric Factors in Computing Lighting Equation for a Directional Light | 161 |
| Figure 8-4 | Geometric Factors in Computing Lighting Equation for a Spot Light | 164 |
| Figure 9-1 | 2D Texture Coordinates | 183 |
| Figure 9-2 | 3D Texture Coordinate for Cubemap | 184 |
| Figure 9-3 | MipMap2D: Nearest Versus Trilinear Filtering | 192 |
| Figure 9-4 | GL_REPEAT, GL_CLAMP_TO_EDGE, and GL_MIRRORED_REPEAT Modes | 195 |
| Figure 10-1 | OpenGL ES 2.0 Programmable Pipeline | 216 |
| Figure 10-2 | OpenGL ES 2.0 Fragment Shader | 219 |
| Figure 10-3 | Multitextured Quad | 223 |
| Figure 10-4 | Linear Fog on Terrain in RenderMonkey | 225 |
| Figure 10-5 | Alpha Test Using Discard | 228 |
| Figure 10-6 | User Clip Plane Example | 230 |
| Figure 11-1 | The Postshader Fragment Pipeline | 233 |
| Figure 12-1 | Framebuffer Objects, Renderbuffer Objects, and Textures | 256 |
| Figure 12-2 | Render to Color Texture | 273 |
| Figure 12-3 | Render to Depth Texture | 276 |
| Figure 13-1 | Per-Fragment Lighting Example (see Color Plate 4) | 280 |
| Figure 13-2 | Environment Mapping Example (see Color Plate 5) | 286 |
| Figure 13-3 | Particle System Sample | 290 |
| Figure 13-4 | Image Postprocessing Example (see Color Plate 6) | 296 |
| Figure 13-5 | Light Bloom Effect | 299 |
| Figure 13-6 | Light Bloom Stages | 300 |
| Figure 13-7 | Projective Spotlight Example (see Color Plate 7) | 301 |
| Figure 13-8 | 2D Texture Projected onto Terrain | 302 |
| Figure 13-9 | Fog Distorted by 3D Noise Texture (see Color Plate 8) | 308 |
| Figure 13-10 | 2D Slice of Gradient Noise | 313 |
| Figure 13-11 | Checkerboard Procedural Texture | 319 |
| Figure 13-12 | Antialiased Checkerboard Procedural Texture | 321 |
| Figure A-1 | 16-Bit Floating-Point Number | 354 |
| Figure E-1 | MipMap2D sample on iPhone Simulator | 398 |