List of Figures
| Table of Contents | List of Figures | List of Examples | List of Tables |
- Figure 2-1. White Rectangle on a Black Background
- Figure 2-2. Order of Operations
- Figure 2-3. Double-Buffered Rotating Square
- Figure 3-1. Coordinate System Defined by w = 50, h = 50
- Figure 3-2. Two Connected Series of Line Segments
- Figure 3-3. Valid and Invalid Polygons
- Figure 3-4. Nonplanar Polygon Transformed to Nonsimple Polygon
- Figure 3-5. Approximating Curves
- Figure 3-6. Drawing a Polygon or a Set of Points
- Figure 3-7. Geometric Primitive Types
- Figure 3-8. Stippled Lines
- Figure 3-9. Wide Stippled Lines
- Figure 3-10. Constructing a Polygon Stipple Pattern
- Figure 3-11. Stippled Polygons
- Figure 3-12. Subdividing a Nonconvex Polygon
- Figure 3-13. Outlined Polygon Drawn Using Edge Flags
- Figure 3-14. Six Sides; Eight Shared Vertices
- Figure 3-15. Cube with Numbered Vertices
- Figure 3-16. Modifying an Undesirable T-intersection
- Figure 3-17. Subdividing to Improve a Polygonal Approximation to a Surface
- Figure 4-1. The Camera Analogy
- Figure 4-2. Stages of Vertex Transformation
- Figure 4-3. Transformed Cube
- Figure 4-4. Rotating First or Translating First
- Figure 4-5. Translating an Object
- Figure 4-6. Rotating an Object
- Figure 4-7. Scaling and Reflecting an Object
- Figure 4-8. Modeling Transformation Example
- Figure 4-9. Object and Viewpoint at the Origin
- Figure 4-10. Separating the Viewpoint and the Object
- Figure 4-11. Default Camera Position
- Figure 4-12. Using gluLookAt()
- Figure 4-13. Perspective Viewing Volume Specified by glFrustum()
- Figure 4-14. Perspective Viewing Volume Specified by gluPerspective()
- Figure 4-15. Orthographic Viewing Volume
- Figure 4-16. Viewport Rectangle
- Figure 4-17. Mapping the Viewing Volume to the Viewport
- Figure 4-18. Perspective Projection and Transformed Depth Coordinates
- Figure 4-19. Using Trigonometry to Calculate the Field of View
- Figure 4-20. Modelview and Projection Matrix Stacks
- Figure 4-21. Pushing and Popping the Matrix Stack
- Figure 4-22. Additional Clipping Planes and the Viewing Volume
- Figure 4-23. Clipped Wireframe Sphere
- Figure 4-24. Planet and Sun
- Figure 4-25. Robot Arm
- Figure 4-26. Robot Arm with Fingers
- Figure 5-1. The Color Cube in Black and White
- Figure 5-2. RGB Values from the Bitplanes
- Figure 5-3. Dithering Black and White to Create Gray
- Figure 5-4. A Color Map
- Figure 5-5. Using a Color Map to Paint a Picture
- Figure 6-1. A Lit and an Unlit Sphere
- Figure 6-2. GL_SPOT_CUTOFF Parameter
- Figure 7-1. Creating a Nonrectangular Raster Image
- Figure 7-2. Aliased and Antialiased Lines
- Figure 7-3. Determining Coverage Values
- Figure 7-4. Fog-Density Equations
- Figure 7-5. Polygons and Their Depth Slopes
- Figure 8-1. Stroked Font That Defines the Characters A, E, P, R, S
- Figure 9-1. Bitmapped F and Its Data
- Figure 9-2. Bitmap and Its Associated Parameters
- Figure 9-3. Simplistic Diagram of Pixel Data Flow
- Figure 9-4. Imaging Pipeline
- Figure 9-5. glCopyPixels() Pixel Path
- Figure 9-6. glBitmap() Pixel Path
- Figure 9-7. glTexImage*(), glTexSubImage*(), and glGetTexImage() Pixel Paths
- Figure 9-8. glCopyTexImage*() and glCopyTexSubImage*() Pixel Paths
- Figure 9-9. *SKIP_ROWS, *SKIP_PIXELS, and *ROW_LENGTH Parameters
- Figure 9-10. Drawing Pixels with glDrawPixels()
- Figure 9-11. Reading Pixels with glReadPixels()
- Figure 10-1. Texture-Mapping Process
- Figure 10-2. Texture-Mapped Squares
- Figure 10-3. Texture with Subimage Added
- Figure 10-4. Mipmaps
- Figure 10-5. Texture Magnification and Minification
- Figure 10-6. Texture-Map Distortion
- Figure 10-7. Repeating a Texture
- Figure 10-8. Clamping a Texture
- Figure 10-9. Repeating and Clamping a Texture
- Figure 11-1. Region Occupied by a Pixel
- Figure 11-2. Motion-Blurred Object
- Figure 11-3. Jittered Viewing Volume for Depth-of-Field Effects
- Figure 12-1. Contours That Require Tessellation
- Figure 12-2. Winding Numbers for Sample Contours
- Figure 12-3. How Winding Rules Define Interiors
- Figure 13-1. Bézier Curve
- Figure 13-2. Bézier Surface
- Figure 13-3. Lit, Shaded Bézier Surface Drawn with a Mesh
- Figure 13-4. NURBS Surface
- Figure 13-5. Parametric Trimming Curves
- Figure 13-6. Trimmed NURBS Surface
- Figure 15-1. Antialiased Characters
- Figure 15-2. Concave Polygon
- Figure 15-3. Dirichlet Domains
- Figure 15-4. Six Generations from the Game of Life
- Figure A-1. Order of Operations
- Figure E-1. Rendering with Polygonal Normals vs. True Normals
- Figure E-2. Averaging Normal Vectors