The Official Guide to Learning OpenGL, Version 1.1 (Redbook Second Edition)
.pdfOpenGL Programming Guide (Addison-Wesley Publishing Company)
sample program: Defining and Using a Complete Font
glClear(): Clearing the Window; Odds and Ends; Clearing Buffers; Clearing the Window depth buffer, clearing the: A Hidden-Surface Removal Survival Kit
glClearAccum(): Clearing the Window; Clearing Buffers
glClearColor(): Clearing the Window; Clearing the Window; Clearing Buffers
glClearDepth(): Clearing Buffers; Clearing the Window
glClearIndex(): Clearing the Window; Specifying a Color in Color-Index Mode; Clearing Buffers fog, use with: Fog in Color-Index Mode
glClearStencil(): Clearing Buffers; Clearing the Window
glClipPlane(): Additional Clipping Planes
glColor*(): Specifying a Color ; Specifying a Color in RGBA Mode
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glColorMask(): Clearing Buffers; Masking Buffers
glColorMaterial(): Changing Material Properties performance tips: OpenGL Performance Tips
glColorPointer(): Step 2: Specifying Data for the Arrays
glCopyPixels(): Copying Pixel Data within the Frame Buffer; Reading, Writing, and Copying Pixel Data alternative uses: Alternative Uses for glDrawPixels() and glCopyPixels()
dithering, turn off: OpenGL Correctness Tips feedback mode: The Feedback Array
glReadBuffer() effect: Selecting Color Buffers for Writing and Reading imaging pipeline operations: Imaging Pipeline
pixel-transfer modes effect: Pixel-Transfer Operations
glCopyTexImage1D(): One-Dimensional Textures
glReadBuffer() effect: Selecting Color Buffers for Writing and Reading pixel-transfer modes effect: Pixel-Transfer Operations
glCopyTexImage2D(): Specifying the Texture
glReadBuffer() effect: Selecting Color Buffers for Writing and Reading
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (31 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
pixel-transfer modes effect: Pixel-Transfer Operations
glCopyTexSubImage1D(): One-Dimensional Textures; One-Dimensional Textures glReadBuffer() effect: Selecting Color Buffers for Writing and Reading pixel-transfer modes effect: Pixel-Transfer Operations
glCopyTexSubImage2D(): Replacing All or Part of a Texture Image glReadBuffer() effect: Selecting Color Buffers for Writing and Reading pixel-transfer modes effect: Pixel-Transfer Operations
glCullFace(): Reversing and Culling Polygon Faces
glDeleteLists(): Fonts and Display Lists; Managing Display List Indices
glDeleteTextures(): Cleaning Up Texture Objects
glDepthFunc(): Depth Test
glDepthMask(): Masking Buffers
blending opaque and translucent objects: Three-Dimensional Blending with the Depth Buffer
glDepthRange(): The Transformed Depth Coordinate
gluUnProject(), relationship to: Reversing or Mimicking Transformations
glDisable(): Basic State Management; OpenGL as a State Machine
glDisableClientState(): Step 1: Enabling Arrays
glDrawArrays(): Dereference a Sequence of Array Elements
glDrawBuffer(): Writing Pixel Data from Processor Memory to Frame Buffer; Copying Pixel Data within the Frame Buffer; Selecting Color Buffers for Writing and Reading
glDrawElements(): Dereference a List of Array Elements
glDrawPixels(): Drawing Depth-Buffered Images; Writing Pixel Data from Processor Memory to Frame Buffer; Reading, Writing, and Copying Pixel Data; Stencil Examples
alternative uses: Alternative Uses for glDrawPixels() and glCopyPixels() feedback mode: The Feedback Array
pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (32 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glEdgeFlag*(): Marking Polygon Boundary Edges
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glEdgeFlagPointer(): Step 2: Specifying Data for the Arrays
glEnable(): Basic State Management; Create, Position, and Enable One or More Light Sources also see enabling: Reversing and Culling Polygon Faces
glEnableClientState(): Restrictions on Using glBegin() and glEnd(); Step 1: Enabling Arrays
glEnd(): Tessellation Callback Routines; OpenGL Geometric Drawing Primitives; OpenGL Geometric Drawing Primitives
restrictions: Restrictions on Using glBegin() and glEnd()
glEndList(): An Example of Using a Display List; Naming and Creating a Display List; Creating and Executing a Display List
glEvalCoord*(): Defining and Evaluating a One-Dimensional Evaluator ; Defining and Evaluating a Two-Dimensional Evaluator
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
used instead of glVertex*(): One-Dimensional Example: A Simple Bézier Curve, Evaluators
glEvalMesh*(): Defining Evenly Spaced Coordinate Values in One Dimension; Defining Evenly Spaced Coordinate Values in Two Dimensions
glEvalPoint*():
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glFeedbackBuffer(): Feedback glRenderMode(), use with: The Basic Steps
glFinish(): Forcing Completion of Drawing
glFlush(): Forcing Completion of Drawing; Forcing Completion of Drawing; OpenGL Correctness Tips
glFog*(): Fog Equations
glFrontFace(): Reversing and Culling Polygon Faces
glFrustum(): The Projection Transformation; Perspective Projection; Odds and Ends; Perspective Projection
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (33 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glGenLists(): An Example of Using a Display List; Naming and Creating a Display List fonts, use for: Fonts and Display Lists
glGenTextures(): Naming A Texture Object; A Sample Program
glGetBooleanv(): Basic State Management; OpenGL as a State Machine; OpenGL State Variables double-buffering support, querying: Color Buffers
stereo support, querying: Color Buffers
glGetClipPlane(): The Query Commands
glGetDoublev(): Basic State Management; OpenGL as a State Machine; OpenGL State Variables
glGetError(): The Query Commands; Error Handling; OpenGL as a State Machine
glGetFloatv(): OpenGL as a State Machine; Basic State Management; OpenGL State Variables line width attributes, obtaining: Wide Lines
point size attributes, obtaining: Point Details
glGetIntegerv(): OpenGL State Variables; Basic State Management; OpenGL as a State Machine alpha test information, obtaining: Alpha Test
attribute stack depth, obtaining: Attribute Groups
clipping planes, obtaining number of additional: Additional Clipping Planes color resolution, obtaining: RGBA versus Color-Index Mode
display list nesting limit, obtaining: Hierarchical Display Lists matrix stack depth, obtaining: The Modelview Matrix Stack maximum texture size, obtaining: Texture Proxy
name stack depth, obtaining: Creating the Name Stack pixel map information, obtaining: Pixel Mapping rendering mode, obtaining current: The Basic Steps stencil-related values, obtaining: Stencil Queries
glGetLight*(): The Query Commands; OpenGL as a State Machine
glGetMap*(): The Query Commands
glGetMaterial*(): The Query Commands
glGetPixelMap*(): The Query Commands
glGetPointerv(): OpenGL State Variables; Basic State Management; OpenGL as a State Machine
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (34 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glGetPolygonStipple(): OpenGL as a State Machine; The Query Commands
glGetString(): The Query Commands; Which Version Am I Using?
glGetTexEnv*(): The Query Commands
glGetTexGen*(): The Query Commands
glGetTexImage(): The Query Commands
pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
glGetTexLevelParameter*(): Texture Proxy; The Query Commands
glGetTexParameter*(): The Query Commands
texture residency, obtaining: A Working Set of Resident Textures
glHint(): Antialiasing fog use: Using Fog
texture use: A Sample Program
glIndex*(): Specifying a Color in Color-Index Mode fog, use with: Fog in Color-Index Mode
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glIndexMask(): Clearing Buffers; Masking Buffers
glIndexPointer(): Step 2: Specifying Data for the Arrays
glInitNames(): Creating the Name Stack; Creating the Name Stack; The Basic Steps
glInterleavedArrays(): Interleaved Arrays
glIsEnabled(): OpenGL State Variables; Basic State Management; OpenGL as a State Machine
glIsList(): Managing Display List Indices
glIsTexture(): Naming A Texture Object
glLight*(): Creating Light Sources; Create, Position, and Enable One or More Light Sources; Creating Light Sources; Multiple Lights
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (35 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glLightModel*(): Selecting a Lighting Model
glLineStipple(): Stippled Lines
glLineWidth(): Wide Lines
glListBase(): Executing Multiple Display Lists fonts, use for: Fonts and Display Lists
sample program: Defining and Using a Complete Font
glLoadIdentity(): Odds and Ends; The Projection Transformation; General-Purpose Transformation Commands ; A Modeling Transformation Code Example
performance tips: OpenGL Performance Tips
viewing transformations, use before: The Viewing Transformation
glLoadMatrix*(): General-Purpose Transformation Commands ; General-Purpose Transformation Commands ; General-Purpose Transformation Commands ; Odds and Ends
glLoadName(): Creating the Name Stack; Creating the Name Stack
glLogicOp(): Logical Operations
glMap*(): Defining and Evaluating a Two-Dimensional Evaluator ; Defining and Evaluating a One-Dimensional Evaluator ; One-Dimensional Example: A Simple Bézier Curve
glMapGrid*(): Defining Evenly Spaced Coordinate Values in Two Dimensions; Defining Evenly Spaced Coordinate Values in One Dimension
glMaterial*(): Defining Material Properties; Define Material Properties for the Objects in the Scene legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
performance tips: OpenGL Performance Tips
glMatrixMode(): The Projection Transformation; General-Purpose Transformation Commands use with matrix stacks: Manipulating the Matrix Stacks
glMultMatrix*(): General-Purpose Transformation Commands ; Odds and Ends; General-Purpose Transformation Commands
performance tips: OpenGL Performance Tips
glNewList(): Creating and Executing a Display List; An Example of Using a Display List; Naming and Creating a Display List
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (36 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glNormal*(): Normal Vectors
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glNormalPointer(): Step 2: Specifying Data for the Arrays
glOrtho(): Odds and Ends; Orthographic Projection picking matrix use: Picking
glPassThrough(): Using Markers in Feedback Mode; Feedback
glPixelMap*(): Pixel Mapping
glPixelStore*(): Controlling Pixel-Storage Modes
cannot be stored in display lists: What's Stored in a Display List polygon stippling: Stippling Polygons
texture image data, effect on: Replacing All or Part of a Texture Image, One-Dimensional Textures, Specifying the Texture, Replacing All or Part of a Texture Image, One-Dimensional Textures, Specifying the Texture
glPixelTransfer*(): Drawing Depth-Buffered Images; Pixel-Transfer Operations
texture image data, effect on: Specifying the Texture, One-Dimensional Textures, Replacing All or Part of a Texture Image, Replacing All or Part of a Texture Image, Specifying the
Texture, One-Dimensional Textures
glPixelZoom(): Magnifying, Reducing, or Flipping an Image; Cheap Image Transformation
glPointSize(): Point Details
glPolygonMode(): Polygons as Points, Outlines, or Solids antialiasing, effect on: Antialiasing Polygons
polygon offset, use with: Polygon Offset
glPolygonOffset(): Polygon Offset
glPolygonStipple(): Stippling Polygons
pixel-storage modes effect: Controlling Pixel-Storage Modes
glPopAttrib(): OpenGL as a State Machine; Managing State Variables with Display Lists; Attribute Groups; OpenGL State Variables
glPopClientAttrib(): OpenGL as a State Machine; Attribute Groups; OpenGL State Variables
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (37 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glPopMatrix(): Manipulating the Matrix Stacks; Independently Moving the Light; Managing State Variables with Display Lists; Building an Articulated Robot Arm
restore orientation of coordinate systems: Building an Articulated Robot Arm selection, use with: The Basic Steps
glPopName(): Creating the Name Stack; Creating the Name Stack
glPrioritizeTextures(): Texture Residence Strategies
glPushAttrib(): Attribute Groups; OpenGL as a State Machine; Managing State Variables with Display Lists; OpenGL State Variables
glPushClientAttrib(): Attribute Groups; OpenGL State Variables; OpenGL as a State Machine
glPushMatrix(): Managing State Variables with Display Lists; Manipulating the Matrix Stacks; Independently Moving the Light; Building an Articulated Robot Arm
save orientation of coordinate systems: Building an Articulated Robot Arm selection, use with: The Basic Steps
glPushName(): Creating the Name Stack; The Basic Steps; Creating the Name Stack
glRasterPos*(): The Current Raster Position; Bitmaps and Fonts images, for positioning: Reading, Writing, and Copying Pixel Data selection hits, can cause: The Hit Record
glReadBuffer(): Selecting Color Buffers for Writing and Reading; Copying Pixel Data within the Frame Buffer; Writing Pixel Data from Processor Memory to Frame Buffer
glReadPixels(): Reading Pixel Data from Frame Buffer to Processor Memory; Reading, Writing, and Copying Pixel Data
glReadBuffer() effect: Selecting Color Buffers for Writing and Reading pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
glRect*(): Rectangles
glRenderMode(): The Basic Steps; The Hit Record; Feedback; The Basic Steps
glRotate*(): Building an Articulated Robot Arm
glRotate*(): Rotate; Odds and Ends; Building a Solar System performance tips: OpenGL Performance Tips
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (38 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
glScale*(): Building an Articulated Robot Arm
glScale*(): The Modeling Transformation; Odds and Ends; Scale performance tips: OpenGL Performance Tips
glScissor(): Scissor Test
glSelectBuffer(): The Basic Steps; The Basic Steps
display lists, cannot be stored in: What's Stored in a Display List
glShadeModel(): Specifying a Shading Model
glStencilFunc(): Stencil Test
glStencilMask(): Masking Buffers
glStencilOp(): Stencil Test
glTexCoord*(): A Sample Program; Assigning Texture Coordinates
legal between glBegin() and glEnd(): Restrictions on Using glBegin() and glEnd()
glTexCoordPointer(): Step 2: Specifying Data for the Arrays
glTexEnv*(): Texture Functions; A Sample Program
glTexGen*(): Automatic Texture-Coordinate Generation environment mapping: Environment Mapping
glTexImage1D(): One-Dimensional Textures
pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
glTexImage2D(): Specifying the Texture; A Sample Program pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations specifying mipmaps: Multiple Levels of Detail
glTexParameter*(): A Sample Program; Repeating and Clamping Textures specifying filtering methods: Filtering
glTexSubImage1D(): One-Dimensional Textures
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (39 of 74) [4/28/2000 9:59:45 PM]
OpenGL Programming Guide (Addison-Wesley Publishing Company)
pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
glTexSubImage2D(): Replacing All or Part of a Texture Image pixel-storage modes effect: Controlling Pixel-Storage Modes pixel-transfer modes effect: Pixel-Transfer Operations
glTranslate*(): Building a Solar System
glTranslate*(): Odds and Ends; Building an Articulated Robot Arm; Translate performance tips: OpenGL Performance Tips
GLU: What Is OpenGL?; OpenGL-Related Libraries; Tessellators and Quadrics
drawing spheres, cylinders, and disks: Quadrics: Rendering Spheres, Cylinders, and Disks error string description: Error Handling
obsolete routines:
gluBeginPolygon(): Backward Compatibility gluEndPolygon(): Backward Compatibility gluNextContour(): Backward Compatibility
quadrics: Quadrics: Rendering Spheres, Cylinders, and Disks tessellation: Polygons
version numbers, obtaining: Utility Library Version
gluBeginCurve(): A Simple NURBS Example; Create a NURBS Curve or Surface
gluBeginSurface(): A Simple NURBS Example; Create a NURBS Curve or Surface
gluBeginTrim(): Trim a NURBS Surface
gluCylinder(): Quadrics: Rendering Spheres, Cylinders, and Disks; Quadrics Primitives
gluDeleteNurbsRenderer(): Manage a NURBS Object
gluDeleteQuadric(): Quadrics: Rendering Spheres, Cylinders, and Disks; Manage Quadrics Objects
gluDeleteTess(): Deleting a Tessellator Object; Backward Compatibility
gluDisk(): Quadrics Primitives; Quadrics: Rendering Spheres, Cylinders, and Disks
gluEndCurve(): A Simple NURBS Example; Create a NURBS Curve or Surface
gluEndSurface(): Create a NURBS Curve or Surface; A Simple NURBS Example
http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (40 of 74) [4/28/2000 9:59:45 PM]