The Official Guide to Learning OpenGL, Version 1.1 (Redbook Second Edition)
.pdfOpenGL Programming Guide (Addison-Wesley Publishing Company)
gluEndTrim(): Trim a NURBS Surface
gluErrorString(): Error Handling; Handle NURBS Errors; Manage Quadrics Objects polygon tessellation: Tessellation Callback Routines
gluGetNurbsProperty(): The Query Commands; Control NURBS Rendering Properties
gluGetString(): Utility Library Version; The Query Commands
gluGetTessProperty(): The Query Commands; Other Tessellation Property Routines
gluLoadSamplingMatrices(): Control NURBS Rendering Properties
gluLookAt(): Building a Solar System
gluLookAt(): Using the gluLookAt() Utility Routine; The Viewing Transformation; A Simple Example: Drawing a Cube
gluNewNurbsRenderer(): Manage a NURBS Object; A Simple NURBS Example
gluNewQuadric(): Manage Quadrics Objects; Quadrics: Rendering Spheres, Cylinders, and Disks
gluNewTess(): Create a Tessellation Object; Backward Compatibility
gluNurbsCallback(): A Simple NURBS Example; Handle NURBS Errors
gluNurbsCurve(): Create a NURBS Curve or Surface; A Simple NURBS Example
gluNurbsProperty(): A Simple NURBS Example; Control NURBS Rendering Properties
gluNurbsSurface(): Create a NURBS Curve or Surface; A Simple NURBS Example
gluOrtho2D(): Orthographic Projection; OpenGL Correctness Tips resized windows, use with: Coordinate System Survival Kit
gluPartialDisk(): Quadrics Primitives; Quadrics: Rendering Spheres, Cylinders, and Disks
gluPerspective(): Building a Solar System
gluPerspective(): Perspective Projection; The Projection Transformation picking matrix use: Picking
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (41 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
gluPickMatrix(): Picking
gluProject(): Reversing or Mimicking Transformations
gluPwlCurve(): Trim a NURBS Surface
gluQuadricCallback(): Manage Quadrics Objects; Quadrics: Rendering Spheres, Cylinders, and Disks
gluQuadricDrawStyle(): Quadrics: Rendering Spheres, Cylinders, and Disks; Control Quadrics Attributes
gluQuadricNormals(): Control Quadrics Attributes; Quadrics: Rendering Spheres, Cylinders, and Disks
gluQuadricOrientation(): Control Quadrics Attributes; Quadrics: Rendering Spheres, Cylinders, and Disks
gluQuadricTexture(): Quadrics: Rendering Spheres, Cylinders, and Disks; Control Quadrics Attributes
gluScaleImage(): Specifying the Texture
gluSphere(): Quadrics: Rendering Spheres, Cylinders, and Disks; Quadrics Primitives
GLUT:
Basics of GLUT: The OpenGL Utility Toolkit; OpenGL-Related Libraries basic functions: GLUT, the OpenGL Utility Toolkit
event management: Handling Input Events
glutCreateWindow(): Initializing and Creating a Window, Window Management
glutDisplayFunc(): Handling Window and Input Events, The Display Callback, The Display Callback glutIdleFunc(): Managing a Background Process, Managing a Background Process
glutInit(): Initializing and Creating a Window, Window Management glutInitDisplayMode(): Window Management, Initializing and Creating a Window glutInitWindowPosition(): Window Management, Initializing and Creating a Window glutInitWindowSize(): Window Management, Initializing and Creating a Window glutKeyboardFunc(): Handling Input Events, Handling Window and Input Events glutMainLoop(): Running the Program, Running the Program
glutMotionFunc(): Handling Window and Input Events, Handling Input Events glutMouseFunc(): Handling Window and Input Events, Handling Input Events
glutPostRedisplay(): An Example of Using a Display List, Handling Window and Input Events, The Display Callback
glutReshapeFunc(): Handling Window and Input Events, Handling Input Events simple example: Coordinate System Survival Kit
glutSetColor(): Loading the Color Map, Specifying a Color in Color-Index Mode, Window
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (42 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
Management, Lighting in Color-Index Mode
smooth shading, use for: Specifying a Shading Model glutSolidCone(): Initializing and Drawing Three-Dimensional Objects
glutSolidCube(): Initializing and Drawing Three-Dimensional Objects, Drawing Three-Dimensional Objects
glutSolidDodecahedron(): Initializing and Drawing Three-Dimensional Objects glutSolidIcosahedron(): Initializing and Drawing Three-Dimensional Objects glutSolidOctahedron(): Initializing and Drawing Three-Dimensional Objects
glutSolidSphere(): Drawing Three-Dimensional Objects, Initializing and Drawing Three-Dimensional Objects
glutSolidTeapot(): Initializing and Drawing Three-Dimensional Objects glutSolidTetrahedron(): Initializing and Drawing Three-Dimensional Objects glutSolidTorus(): Initializing and Drawing Three-Dimensional Objects glutSwapBuffers(): Motion = Redraw + Swap
glutWireCone(): Initializing and Drawing Three-Dimensional Objects
glutWireCube(): Drawing Three-Dimensional Objects, Initializing and Drawing Three-Dimensional Objects
glutWireDodecahedron(): Initializing and Drawing Three-Dimensional Objects glutWireIcosahedron(): Initializing and Drawing Three-Dimensional Objects glutWireOctahedron(): Initializing and Drawing Three-Dimensional Objects
glutWireSphere(): Initializing and Drawing Three-Dimensional Objects, Drawing Three-Dimensional Objects, Building a Solar System
glutWireTeapot(): Initializing and Drawing Three-Dimensional Objects glutWireTetrahedron(): Initializing and Drawing Three-Dimensional Objects glutWireTorus(): Initializing and Drawing Three-Dimensional Objects sample program introducing GLUT: Running the Program
window management: Window Management, Coordinate System Survival Kit
gluTessBeginContour(): Polygon Definition
gluTessBeginPolygon(): Polygon Definition
gluTessCallback(): Backward Compatibility; Tessellation Callback Routines; Polygon Definition
gluTessEndContour(): Polygon Definition
gluTessEndPolygon(): Polygon Definition
gluTessNormal(): Other Tessellation Property Routines; Tessellator Performance Tips; CSG Uses for Winding Rules
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (43 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
gluTessProperty(): Tessellation Properties; Polygon Definition
gluTessVertex(): Backward Compatibility; Polygon Definition
gluUnProject(): Reversing or Mimicking Transformations; Reversing or Mimicking Transformations
glVertex*(): Specifying Vertices
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd() using glEvalCoord*() instead: Evaluators
glVertexPointer(): Restrictions on Using glBegin() and glEnd(); Step 2: Specifying Data for the Arrays
glViewport(): The Viewport Transformation ; Defining the Viewport using with resized windows: Coordinate System Survival Kit
GLX: GLX: OpenGL Extension for the X Window System; OpenGL-Related Libraries; OpenGL-Related Libraries
ftp site for GLX specification: GLX: OpenGL Extension for the X Window System glXChooseVisual(): GLX Tips, Initialization, Initialization
glXCopyContext(): Controlling Rendering, Managing an OpenGL Rendering Context glXCreateContext(): Managing an OpenGL Rendering Context, Controlling Rendering glXCreateGLXPixmap(): Controlling Rendering, Off-Screen Rendering glXDestroyContext(): Managing an OpenGL Rendering Context, Controlling Rendering glXDestroyGLXPixmap(): Off-Screen Rendering, Controlling Rendering glXGetClientString(): Initialization, Initialization
glXGetConfig(): Initialization, Buffers and Their Uses, Initialization glXGetCurrentContext(): Controlling Rendering, Managing an OpenGL Rendering Context glXGetCurrentDisplay(): Managing an OpenGL Rendering Context, Controlling Rendering glXGetCurrentDrawable(): Controlling Rendering, Managing an OpenGL Rendering Context glXIsDirect(): Managing an OpenGL Rendering Context, Controlling Rendering glXMakeCurrent(): Controlling Rendering, Managing an OpenGL Rendering Context glXQueryExtension(): Initialization, Initialization
glXQueryExtensionsString(): Initialization, Initialization glXQueryServerString(): Initialization, Initialization glXQueryVersion(): Initialization, Initialization
glXSwapBuffers(): Swapping Buffers, Motion = Redraw + Swap, Controlling Rendering glXUseXFont(): Using an X Font, Controlling Rendering
glXWaitGL(): Controlling Rendering, Synchronizing Execution performance tips: GLX Tips
glXWaitX(): Synchronizing Execution, Controlling Rendering performance tips: GLX Tips
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (44 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
Gouraud shading, See smooth shading: Specifying a Shading Model
Haeberli, Paul: The q Coordinate; The Accumulation Buffer
haze, See fog: Fog
header file: Include Files
hidden-line removal: Hidden-Line Removal polygon offset used for: Polygon Offset
hidden-surface removal: Depth Test; A Hidden-Surface Removal Survival Kit
hierarchical models: Manipulating the Matrix Stacks; Hierarchical Display Lists picking: Picking with Multiple Names and a Hierarchical Model
highlights, See specular: Specular Reflection
hints: Antialiasing fog: Using Fog
perspective correction: A Sample Program, Antialiasing , A Sample Program
hits (selection), See selection (hit records): The Hit Record
holes in polygons: Polygons; Drawing Filled, Concave Polygons Using the Stencil Buffer
homogeneous coordinates: Points; Homogeneous Coordinates
Hoschek, Josef: Prerequisites
Hughes, John F.: What You Should Know Before Reading This Guide; Homogeneous Coordinates and Transformation Matrices
IBM OS/2 Presentation Manager to OpenGL Interface, see PGL: OpenGL-Related Libraries
icosahedron, drawing: An Example: Building an Icosahedron
identity matrix: A Modeling Transformation Code Example; The Viewing Transformation; OpenGL Performance Tips; General-Purpose Transformation Commands
illumination, See lighting: Real-World and OpenGL Lighting
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (45 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
images: Drawing Pixels, Bitmaps, Fonts, and Images; Images
also see pixel data: Drawing Pixels, Bitmaps, Fonts, and Images blending: Interpolating Images
compositing: Blending
distorted: Cheap Image Transformation
imaging pipeline: Reading, Writing, and Copying Pixel Data, Imaging Pipeline interpolating between: Interpolating Images
magnifying or reducing: Magnifying, Reducing, or Flipping an Image nonrectangular: Sample Uses of Blending
projecting: Texture-Mapping Applications
sample code which draws an image: Writing Pixel Data from Processor Memory to Frame Buffer sample program which draws, copies, and zooms an image: Magnifying, Reducing, or Flipping an
Image
scaling and rotating: Texture-Mapping Applications sources of: Images
superimposing: Making Decals
transposing: Alternative Uses for glDrawPixels() and glCopyPixels(), Alternative Uses for glDrawPixels() and glCopyPixels()
warping: Texture-Mapping Applications
imaging pipeline, See images (imaging pipeline): Imaging Pipeline
immediate mode: State Management and Drawing Geometric Objects; Display Lists display lists, mixing with: Executing a Display List
infinite light source: Position and Attenuation
input events:
handling, using GLUT: Handling Input Events
intensity:
texture image data type: Texture Functions
Interactive Inspection of Solids:
Cross-sections and Interferences: Finding Interference Regions
interference regions: Finding Interference Regions
interleaved arrays: Interleaved Arrays
interpolating:
color values and texture coordinates: Antialiasing , Assigning Texture Coordinates
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (46 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
invariance:
of an OpenGL implementation: OpenGL Invariance, OpenGL Correctness Tips
Inventor, see Open Inventor: OpenGL-Related Libraries
jaggies: Antialiasing
jittering: Scene Antialiasing; Scene Antialiasing; Jittering accFrustum() routine: Scene Antialiasing accPerspective() routine: Scene Antialiasing
sample code to jitter projection transformations: Scene Antialiasing sample program with orthographic projection: Scene Antialiasing
Kilgard, Mark: How to Obtain the Sample Code; OpenGL-Related Libraries;
Basics of GLUT: The OpenGL Utility Toolkit; GLX: OpenGL Extension for the X Window System
Korobkin, Carl: The q Coordinate
Lasser, Dieter: Prerequisites
layers, drawing: Displaying Layers
Life, Game of: Life in the Stencil Buffer
light sources: Creating Light Sources
ambient light: Ambient, Diffuse, and Specular Light, Color contribution to lighting equation: Contributions from Light Sources diffuse light: Color, Ambient, Diffuse, and Specular Light directional: Position and Attenuation
display lists cache values: Display-List Design Philosophy infinite light source: Position and Attenuation
local light source: Position and Attenuation
maximum number of sources: Create, Position, and Enable One or More Light Sources moving along with the viewpoint: Moving the Light Source Together with Your Viewpoint moving light sources: Controlling a Light's Position and Direction
multiple light sources: Multiple Lights
performance tips: Create, Position, and Enable One or More Light Sources positional: Position and Attenuation
rendering pipeline stage: Per-Vertex Operations, Per-Vertex Operations RGBA values: RGB Values for Lights and Materials
sample program that moves the light source: Independently Moving the Light
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (47 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
specifying a light source: Create, Position, and Enable One or More Light Sources specular light: Ambient, Diffuse, and Specular Light
spotlights: Spotlights
stationary: Keeping the Light Stationary
lighting:
enabling: Some Important Notes
lighting:also see light sources, material properties: Material Colors ambient light: Real-World and OpenGL Lighting
approximation of the real world: Real-World and OpenGL Lighting
calculations in color-index mode: The Mathematics of Color-Index Mode Lighting color-index mode: Lighting in Color-Index Mode
default values, using: Some Important Notes
display lists cache values: Display-List Design Philosophy
enabling: Create, Position, and Enable One or More Light Sources, Create, Position, and Enable One or More Light Sources
enabling and disabling: Enabling Lighting
equation that calculates lighting: The Mathematics of Lighting
global ambient light: Global Ambient Light, Scaled Global Ambient Light lighting model: Selecting a Lighting Model
lighting model, specifying a: Select a Lighting Model
rendering pipeline stage: Per-Vertex Operations, Per-Vertex Operations
sample program introducing lighting: A Simple Example: Rendering a Lit Sphere steps to perform: A Simple Example: Rendering a Lit Sphere
two-sided materials: Two-sided Lighting
viewer, local or infinite: Local or Infinite Viewpoint
line segment: Lines
linear attenuation: Position and Attenuation
lines: Lines
antialiasing: Texture-Mapping Applications, Antialiasing Points or Lines
connected closed loop, specifying: OpenGL Geometric Drawing Primitives, OpenGL Geometric Drawing Primitives
connected strip, specifying: OpenGL Geometric Drawing Primitives, OpenGL Geometric Drawing Primitives
feedback mode: The Feedback Array querying line width: Wide Lines
sample program with wide, stippled lines: Stippled Lines
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (48 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
specifying: OpenGL Geometric Drawing Primitives, OpenGL Geometric Drawing Primitives stippling: Stippled Lines
tessellated polygons decomposed into: Tessellation Callback Routines width: Wide Lines
local light source: Position and Attenuation
logical operations:
rendering pipeline stage: Fragment Operations, Fragment Operations
transposing images, using for: Alternative Uses for glDrawPixels() and glCopyPixels()
lookup table, See color map: Color-Index Display Mode
luminance: Reading Pixel Data from Frame Buffer to Processor Memory; The Pixel Rectangle Reading Process
pixel data formats for: Reading Pixel Data from Frame Buffer to Processor Memory, Pixel Packing and Unpacking
texture image data type: Texture Functions
magnifying images: Magnifying, Reducing, or Flipping an Image
masking: Masking Buffers
antialiasing characters: Antialiased Characters layers, drawing: Displaying Layers
rendering pipeline stage: Fragment Operations, Fragment Operations
material properties: Defining Material Properties; Define Material Properties for the Objects in the Scene
ambient: Diffuse and Ambient Reflection, Material Colors
changing a single parameter with glColorMaterial(): Changing Material Properties changing material properties: Changing Material Properties
diffuse: Diffuse and Ambient Reflection, Material Colors display lists cache values: Display-List Design Philosophy emission: Emission, Material Colors, Material Emission
enabling color material properties mode: Changing Material Properties performance when changing: OpenGL Performance Tips
rendering pipeline stage: Per-Vertex Operations, Per-Vertex Operations RGBA values: RGB Values for Lights and Materials
sample program which changes material properties: Changing Material Properties sample program which uses glColorMaterial(): Changing Material Properties shininess: Specular Reflection
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (49 of 74) [4/28/2000 9:59:46 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
specular: Specular Reflection, Material Colors two-sided lighting: Two-sided Lighting
matrix:
column-major ordering: General-Purpose Transformation Commands
matrix:also see matrix stack: Odds and Ends
choosing which matrix is current: General-Purpose Transformation Commands current: The Viewing Transformation
danger of extensive changes: OpenGL Correctness Tips
display lists cache matrix operations: Display-List Design Philosophy
identity: OpenGL Performance Tips, General-Purpose Transformation Commands , The Viewing Transformation, A Modeling Transformation Code Example
loading: General-Purpose Transformation Commands
modelview: General-Purpose Transformation Commands , Overview: The Camera Analogy multiplying matrices: General-Purpose Transformation Commands
NURBS, specifying for sampling: Control NURBS Rendering Properties orthographic parallel projection: Orthographic Projection
perspective projection: Perspective Projection
projection: The Projection Transformation, General-Purpose Transformation Commands rotation: Rotation
row-major ordering: General-Purpose Transformation Commands scaling: Scaling
texture: The Texture Matrix Stack
transformation pipeline: Overview: The Camera Analogy transformations of homogeneous coordinates: Transforming Vertices translation: Translation
matrix stack: Manipulating the Matrix Stacks
choosing which matrix stack is current: Manipulating the Matrix Stacks current matrix stack: Odds and Ends
modelview: The Modelview Matrix Stack popping: Manipulating the Matrix Stacks projection: The Projection Matrix Stack pushing: Manipulating the Matrix Stacks
querying stack depth: The Modelview Matrix Stack texture: The Texture Matrix Stack
Megahed, Abe: Finding Interference Regions
Microsoft:
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (50 of 74) [4/28/2000 9:59:46 PM]