Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

The Official Guide to Learning OpenGL, Version 1.1 (Redbook Second Edition)

.pdf
Скачиваний:
198
Добавлен:
02.05.2014
Размер:
8.22 Mб
Скачать

OpenGL 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]

Соседние файлы в предмете Разработка игр