Next:
List of Figures
Up:
Advanced Graphics Programming Techniques
Previous:
Advanced Graphics Programming Techniques
Contents
List of Figures
List of Tables
1 Introduction
1.1 OpenGL Version
1.2 Course Notes and Slide Set Organization
1.3 Acknowledgments
1.4 Acknowledgments for 1999 Course Notes
1.5 Acknowledgments for 1998 Course Notes
1.6 Acknowledgments for 1997 Course Notes
1.7 Course Notes Web Site
2 About OpenGL
3 Modeling
3.1 Modeling Considerations
3.2 Decomposition and Tessellation
3.3 Generating Model Normals
3.4 Triangle-stripping
3.5 Coplanar Polygons and Decaling with Stencil
3.6 Capping Clipped Solids with the Stencil Buffer
3.7 Constructive Solid Geometry with the Stencil Buffer
4 Geometry and Transformations
4.1 Stereo Viewing
4.2 Depth of Field
4.3 The Z Coordinate and Perspective Projection
4.4 Image Tiling
4.5 Moving the Current Raster Position
4.6 Preventing Clipping of Wide Lines and Points
4.7 Distortion Correction
4.8 Picking and Highlighting
4.9 Foreground Object Manipulation
5 Occlusion Culling
5.1 Choosing Occluders
5.2 Building the Occlusion Map
5.3 Building the Depth Estimation Buffer
5.4 Occlusion Testing
5.5 Other Methods
6 Texture Mapping
6.1 Texturing Basics
6.2 Multitexture
6.3 Merging Textures with Specular Highlights
6.4 Texture Borders and Tiling
6.5 Mipmap Generation
6.6 Texture Map Limits
6.7 Anisotropic Texture Filtering
6.8 Paging Textures
6.9 Transparency Mapping and Trimming with Alpha
6.10 Billboards
6.11 Rendering Text
6.12 Texture Mosaicing
6.13 Texture Coordinate Generation
6.14 Color Coding and Contouring
6.15 Visualizing Surface Orientations
6.16 Projective Textures
6.17 Environment Mapping
6.18 Image Warping and Dewarping
6.19 3D Textures
6.20 Detail Textures
6.21 Procedural Texture Generation
7 Line Rendering Techniques
7.1 Wireframe Models
7.2 Hidden Lines
7.3 Haloed Lines
7.4 Silhouette Edges
7.5 Preventing Smooth Wide Line Overlap
7.6 End Caps On Wide Lines
8 Blending and Compositing
8.1 Compositing
8.2 Advanced Blending
8.3 Painting
8.4 Blending with the Accumulation Buffer
8.5 Blending Transitions
8.6 The Stencil Buffer
8.7 Compositing Images with Depth
9 Antialiasing
9.1 Line and Point Antialiasing
9.2 Polygon Antialiasing
9.3 Multisampling
9.4 Antialiasing With Textures
9.5 Antialiasing with Accumulation Buffer
10 Lighting Techniques
10.1 Phong Shading
10.2 Light Maps
10.3 Gloss Maps
10.4 Other Lighting Models
10.5 Global Illumination
10.6 Bump Mapping with Textures
10.7 Bump Mapped Reflections
10.8 Choosing Material Properties
10.9 Anisotropic Lighting
11 Scene Realism
11.1 Reflections and Refractions
11.2 Environment Mapping
11.3 Creating Shadows
12 Transparency
12.1 Screen-Door Transparency
12.2 Alpha Blending
12.3 Sorting
12.4 Using the Alpha Function
12.5 Using Multisampling
13 Image Processing
13.1 Introduction
13.2 Colors and Color Spaces
13.3 Convolutions
13.4 Image Warping
14 Special Effects
14.1 Dissolves with Stencil
14.2 Motion Blur
14.3 Depth of Field
15 Illustration and Artistic Techniques
15.1 Non-photorealistic Lighting Models
15.2 Edge Lines
15.3 Gradual Cutaway Views
15.4 Depth Cuing
15.5 Cross Hatching and 3D Halftones
15.6 2D Drawing Techniques
15.7 Painting on Images
16 Scientific Visualization Techniques
16.1 Scalar Field Visualization
16.2 Volume Visualization with Texture
16.3 Vector Field Visualization
16.4 Line Integral Convolution (LIC) with Texture
16.5 Illuminated Stream Lines
17 Natural Phenomena
17.1 Smoke
17.2 Vapor Trails
17.3 Fire
17.4 Explosions
17.5 Clouds
17.6 Water
17.7 Light Points
17.8 Other Atmospheric Effects
17.9 Particle Systems
17.10 Precipitation
18 Tuning Your OpenGL Application
18.1 What Is Pipeline Tuning?
18.2 Optimizing Your Application Code
18.3 Tuning the Geometry Subsystem
18.4 Tuning the Raster Subsystem
18.5 Rendering Geometry Efficiently
18.6 Rendering Images Efficiently
18.7 Tuning Animation
18.8 Taking Timing Measurements
19 Portability Considerations
19.1 General Concerns
19.2 Windows and UNIX Portability
19.3 3D Texture Portability
20 Using OpenGL Extensions
20.1 How OpenGL Extensions are Documented
20.2 Finding OpenGL extension specifications
20.3 How to Read an OpenGL Extension Specification
20.4 Portably Using OpenGL Extensions
20.5 Win32's Scheme for Getting Extension Function Pointers
A. List of Demo Programs
B. GLUT, the OpenGL Utility Toolkit
C. Equations
C..1 Projection Matrices
C..2 Lighting Equations
Bibliography
About this document ...
2001-01-10