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

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

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

OpenGL Programming Guide (Addison-Wesley Publishing Company)

Microsoft Win32, See Win32: WGL: OpenGL Extension for Microsoft Windows NT and Windows

95

Microsoft Windows: OpenGL-Related Libraries

Microsoft Windows 95: WGL: OpenGL Extension for Microsoft Windows NT and Windows 95 Microsoft Windows NT: How to Obtain the Sample Code

Microsoft Windows to OpenGL interface, See WGL: OpenGL-Related Libraries

mipmapping:

texture objects for mipmaps: Creating and Using Texture Objects

mipmapping: Multiple Levels of Detail minification filters: Filtering

mirroring objects, See scaling: Scale

modeling transformations: Viewing and Modeling Transformations

modeling transformations: Modeling Transformations ; The Modeling Transformation camera analogy: Overview: The Camera Analogy

connection to viewing transformations: The Modeling Transformation example: A Modeling Transformation Code Example

rotation: Rotate

rotation matrix: Rotation

sample program: A Modeling Transformation Code Example scaling: Scale

scaling matrix: Scaling translation: Translate translation matrix: Translation

models:

rendering wireframe and solid: Drawing Three-Dimensional Objects, Initializing and Drawing Three-Dimensional Objects

modelview matrix: General-Purpose Transformation Commands ; Overview: The Camera Analogy arbitrary clipping planes, effect on: Additional Clipping Planes

stack: The Modelview Matrix Stack

motion blur: Motion Blur

stippling, with: An Easy Fade Effect

motion, See animation: Animation

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (51 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

movie clips: Alternative Uses for glDrawPixels() and glCopyPixels()

multiple layers:

displaying with overlap: Displaying Layers

name stack: The Basic Steps creating: Creating the Name Stack

initializing: Creating the Name Stack loading: Creating the Name Stack

multiple names: Picking with Multiple Names and a Hierarchical Model popping: Creating the Name Stack

pushing: Creating the Name Stack

querying maximum depth: Creating the Name Stack

networked operation: Forcing Completion of Drawing attribute groups, saving and restoring: Attribute Groups display lists: What's Stored in a Display List

versions: Which Version Am I Using?

Non-Uniform Rational B-Splines, see NURBS: OpenGL-Related Libraries

nonplanar polygons: Polygons

normal vectors:

normalized: Normal Vectors

normal vectors: Define Normal Vectors for Each Vertex of Every Object; Normal Vectors calculating: Calculating Normal Vectors

calculating for analytic surfaces: Finding Normals for Analytic Surfaces calculating for polygonal data: Finding Normals from Polygonal Data calculating length: Normal Vectors

cross product, calculating normalized: Calculating Normal Vectors for a Surface enabling automatic unit length division: Normal Vectors

inverse matrix generated: Odds and Ends

matrix transformations: Overview: The Camera Analogy NURBS, generating for: Create a NURBS Curve or Surface quadrics, generated for: Control Quadrics Attributes

rendering pipeline stage: Per-Vertex Operations, Per-Vertex Operations specifying: Normal Vectors

tessellation, specifying for: Tessellation Callback Routines transformations: Transforming Normals

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (52 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

unit length optimizes performance: OpenGL Performance Tips

vertex arrays, specifying values with: Step 2: Specifying Data for the Arrays

normal, See normal vectors: Normal Vectors

normalized device coordinates: Overview: The Camera Analogy

NURB Curves and Surfaces (book title): Prerequisites

NURBS: The GLU NURBS Interface

creating a NURBS curve or surface: Create a NURBS Curve or Surface creating a NURBS object: Manage a NURBS Object

culling: Control NURBS Rendering Properties deleting a NURBS object: Manage a NURBS Object display list use: An Example of Using a Display List error handling: Handle NURBS Errors

method of display (lines or filled polygons): Control NURBS Rendering Properties normal vectors, generating: Create a NURBS Curve or Surface

properties, controlling NURBS: Control NURBS Rendering Properties querying property value: Control NURBS Rendering Properties references: Prerequisites

sample program which draws a lit NURBS surface: A Simple NURBS Example sample program with a trimmed surface: Trim a NURBS Surface

sampling precision: Control NURBS Rendering Properties source for matrices: Control NURBS Rendering Properties steps to use: A Simple NURBS Example

texture coordinate generation: Create a NURBS Curve or Surface trimming: Trim a NURBS Surface

NURBS Book, The: Prerequisites

NURBS for Curve and Surface Design: Prerequisites

object coordinates: Overview: The Camera Analogy

texture coordinate generation: Automatic Texture-Coordinate Generation

objects, See models: Drawing Three-Dimensional Objects

opacity: Blending

Open Inventor: OpenGL-Related Libraries; What Is OpenGL?

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (53 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

OpenGL Extension to the X Window System, see GLX: OpenGL-Related Libraries

OpenGL Programming for the X Window System: OpenGL-Related Libraries; GLUT, the OpenGL Utility Toolkit;

Basics of GLUT: The OpenGL Utility Toolkit; How to Obtain the Sample Code; GLX: OpenGL Extension for the X Window System

OpenGL Reference Manual: GLX: OpenGL Extension for the X Window System

OpenGL Reference Manual: Order of Operations; What You Should Know Before Reading This Guide; The Query Commands

OpenGL Utility Library, see GLU: OpenGL-Related Libraries

OpenGL Utility Toolkit, see GLUT: OpenGL-Related Libraries

orthographic parallel projection: The Projection Transformation; Orthographic Projection jittering: Scene Antialiasing

matrix: Orthographic Projection

specifying with integer coordinates: OpenGL Correctness Tips

outlined polygons: Marking Polygon Boundary Edges; Polygons as Points, Outlines, or Solids polygon offset solution: Polygon Offset

overlapping objects: Finding Interference Regions

painting: Blending; Alternative Uses for glDrawPixels() and glCopyPixels(); Sample Uses of Blending

partial disks: Quadrics: Rendering Spheres, Cylinders, and Disks

pass-through markers: Using Markers in Feedback Mode

performance tips:

light sources, effect of additional: Create, Position, and Enable One or More Light Sources

performance tips:

clearing the window: Clearing the Window display lists: An Example of Using a Display List flat shading: OpenGL Performance Tips

flushing the pipeline: Forcing Completion of Drawing fog: Fog

GLX tips: GLX Tips

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (54 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

hints: Antialiasing

light source attenuation, effect of: Position and Attenuation list of general tips: OpenGL Performance Tips

material properties, changing: OpenGL Performance Tips NURBS and display lists: An Example of Using a Display List pixel data alignment: Controlling Pixel-Storage Modes

pixel data, drawing: Tips for Improving Pixel Drawing Rates polygon restrictions: Polygons

polygon subdivision: Some Hints for Building Polygonal Models of Surfaces pushing and popping attribute groups: OpenGL Performance Tips

rasterization and fragment operations for pixel data: OpenGL Performance Tips removing hidden surfaces: A Hidden-Surface Removal Survival Kit

specifying geometric primitives: OpenGL Performance Tips tessellation and display lists: An Example of Using a Display List tessellation, use of: Tessellator Performance Tips

texture images, internal format of: Specifying the Texture texture objects: OpenGL Performance Tips, Texture Objects texture subimages: OpenGL Performance Tips

two-sided lighting: Two-sided Lighting

unit-length normal vectors: OpenGL Performance Tips

vector and scalar forms of commands: OpenGL Performance Tips vertex arrays: OpenGL Performance Tips

perspective projection: Perspective Projection

correction hint: A Sample Program, A Sample Program, Antialiasing depth coordinates, effect on: The Transformed Depth Coordinate jittering: Scene Antialiasing

matrix: Perspective Projection

perspective division: Overview: The Camera Analogy

PGL:

pglIsIndirect(): Managing an OpenGL Rendering Context

PGL: PGL: OpenGL Extension for IBM OS/2 Warp; OpenGL-Related Libraries pglChooseConfig(): Initialization, Initialization

pglCopyContext(): Managing an OpenGL Rendering Context, Controlling Rendering pglCreateContext(): Controlling Rendering, Managing an OpenGL Rendering Context pglDestroyContext(): Managing an OpenGL Rendering Context, Controlling Rendering pglGetCurrentContext(): Controlling Rendering, Managing an OpenGL Rendering Context pglGetCurrentWindow(): Managing an OpenGL Rendering Context, Controlling Rendering pglGrabFrontBitmap(): Controlling Rendering, Access the Bitmap of the Front Buffer

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (55 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

pglIsIndirect(): Controlling Rendering

pglMakeCurrent(): Managing an OpenGL Rendering Context, Controlling Rendering pglQueryCapability(): Initialization, Initialization

pglQueryConfigs(): Initialization, Initialization pglQueryVersion(): Initialization, Initialization

pglReleaseFrontBitmap(): Controlling Rendering, Access the Bitmap of the Front Buffer pglSelectColorIndexPalette(): Controlling Rendering, When you are running in 8-bit (256 color)

mode, you have to worry about color palette management. For windows with a color index Visual Configuration, call pglSelectColorIndexPalette() to tell OpenGL what color-index palette you want to use with your context. A color palette must be selected before the context is initially bound to a window. In RGBA mode, OpenGL sets up a palette automatically.

pglSwapBuffers(): Controlling Rendering, Swapping Buffers pglUseFont(): Using an OS/2 Logical Font, Controlling Rendering pglWaitGL(): Controlling Rendering, Synchronizing Execution pglWaitPM(): Synchronizing Execution, Controlling Rendering

picking: Picking

back buffer for, using the: Object Selection Using the Back Buffer depth coordinates: Picking and Depth Values

hierarchical models: Picking with Multiple Names and a Hierarchical Model projection matrix, special: Picking

sample program: Picking

sample program with depth coordinates: Picking and Depth Values strategies: Hints for Writing a Program That Uses Selection

sweep selection: Hints for Writing a Program That Uses Selection

Piegl, Les: Prerequisites

pipeline:

geometric processing: Geometric Operations

imaging: Reading, Writing, and Copying Pixel Data, Imaging Pipeline rendering: OpenGL Rendering Pipeline

vertex transformation: Overview: The Camera Analogy

pixel:

coverage: Antialiasing

pixel data: Drawing Pixels, Bitmaps, Fonts, and Images; Images aaa: Pixel Operations

byte alignment: Controlling Pixel-Storage Modes byte ordering: Controlling Pixel-Storage Modes

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (56 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

copying within the framebuffer: Imaging Pipeline, Copying Pixel Data within the Frame Buffer, Pixel Operations, Pixel Operations, Reading, Writing, and Copying Pixel Data

depth buffer pixel data: Pixel-Transfer Operations, Copying Pixel Data within the Frame Buffer drawing or reading a subrectangle of: Controlling Pixel-Storage Modes

drawing process in detail: The Pixel Rectangle Drawing Process endianness: Controlling Pixel-Storage Modes

feedback mode: The Feedback Array

formats for reading or drawing: Reading Pixel Data from Frame Buffer to Processor Memory formats for storing in memory: Reading Pixel Data from Frame Buffer to Processor Memory, Pixel

Packing and Unpacking

mapping: Pixel Operations, Pixel Operations, Pixel Mapping

packing into processor memory: Pixel Operations, Pixel Packing and Unpacking, Pixel Operations performance tips: Tips for Improving Pixel Drawing Rates

pipeline operations: Imaging Pipeline, Pixel Operations, Reading, Writing, and Copying Pixel Data, Pixel Operations

pixel zoom: Magnifying, Reducing, or Flipping an Image querying pixel mapping information: Pixel Mapping

reading from the framebuffer: Reading, Writing, and Copying Pixel Data, Reading Pixel Data from Frame Buffer to Processor Memory

reading process in detail: The Pixel Rectangle Reading Process

sample code which draws an image: Writing Pixel Data from Processor Memory to Frame Buffer sample program which draws, copies, and zooms pixel data: Magnifying, Reducing, or Flipping an

Image

stencil buffer pixel data: Pixel-Transfer Operations, Reading Pixel Data from Frame Buffer to Processor Memory

storage modes: Controlling Pixel-Storage Modes

transfer modes: Pixel Operations, Pixel Operations, Texture Functions, Pixel-Transfer Operations unpacking from processor memory: Pixel Operations, Pixel Packing and Unpacking, Pixel Operations writing to the framebuffer: Reading, Writing, and Copying Pixel Data, Writing Pixel Data from

Processor Memory to Frame Buffer

points:

drawing: OpenGL Geometric Drawing Primitives

point light source, See positional light source: Position and Attenuation

points: Points

antialiasing: Antialiasing Points or Lines, Drawing Round Points feedback mode: The Feedback Array

querying point size: Point Details

round: Antialiasing Points or Lines, Drawing Round Points

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (57 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

size: Point Details

specifying: OpenGL Geometric Drawing Primitives, OpenGL Geometric Drawing Primitives

polygons:

culling the faces: Reversing and Culling Polygon Faces polygon mode: Polygons as Points, Outlines, or Solids reversing the faces: Reversing and Culling Polygon Faces stippling: Stippling Polygons

polygon offset: Polygon Offset

depth slope of a polygon: Polygon Offset enabling: Polygon Offset

hidden-line removal: Hidden-Line Removal with Polygon Offset

polygonal approximations to surfaces: Some Hints for Building Polygonal Models of Surfaces

polygons: Polygons

boundary edges: Marking Polygon Boundary Edges

concave, drawing filled: Drawing Filled, Concave Polygons Using the Stencil Buffer, Polygon Tessellation

convex: Polygons

drawing: OpenGL Geometric Drawing Primitives

drawing as points, lines, or filled: Polygons as Points, Outlines, or Solids feedback mode: The Feedback Array

front and back faces: Reversing and Culling Polygon Faces holes in: Polygons

non-convex: Polygons, Marking Polygon Boundary Edges nonplanar: Polygons

polygon mode: Primitive Assembly, OpenGL Performance Tips, Primitive Assembly sample program with stippled polygons: Stippling Polygons

self-intersecting: Tessellation Callback Routines simple: Polygons

specifying: OpenGL Geometric Drawing Primitives, OpenGL Geometric Drawing Primitives tessellation, specifying for: Polygon Definition

Voronoi: Dirichlet Domains

positional light source: Position and Attenuation

primitives:

geometric: Describing Points, Lines, and Polygons raster: Drawing Pixels, Bitmaps, Fonts, and Images

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (58 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

priority of texture objects: Texture Residence Strategies

Procedural Elements for Computer Graphics: Quadrics: Rendering Spheres, Cylinders, and Disks

programs:

aaindex.c: Antialiasing in Color-Index Mode aapoly.c: Antialiasing Polygons

aargb.c: Antialiasing in RGBA Mode accanti.c: Scene Antialiasing accpersp.c: Scene Antialiasing alpha.c: A Blending Example

alpha3D.c: Three-Dimensional Blending with the Depth Buffer bezcurve.c: One-Dimensional Example: A Simple Bézier Curve

bezmesh.c: Defining Evenly Spaced Coordinate Values in Two Dimensions bezsurf.c: Two-Dimensional Example: A Bézier Surface

checker.c: A Sample Program

clip.c: A Clipping Plane Code Example colormat.c: Changing Material Properties cube.c: A Simple Example: Drawing a Cube dof.c: Depth of Field

double.c: Motion = Redraw + Swap drawf.c: Bitmaps and Fonts feedback.c: A Feedback Example fog.c: Using Fog

fogindex.c: Fog in Color-Index Mode font.c: Defining and Using a Complete Font ftp site: How to Obtain the Sample Code hello.c: Running the Program

image.c: Magnifying, Reducing, or Flipping an Image light.c: A Simple Example: Rendering a Lit Sphere lines.c: Stippled Lines

list.c: Creating and Executing a Display List material.c: Changing Material Properties mipmap.c: Multiple Levels of Detail

model.c: A Modeling Transformation Code Example movelight.c: Independently Moving the Light pickdepth.c: Picking and Depth Values picksquare.c: Picking

planet.c: Building a Solar System polys.c: Stippling Polygons

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (59 of 74) [4/28/2000 9:59:46 PM]

OpenGL Programming Guide (Addison-Wesley Publishing Company)

quadric.c: Quadrics Primitives

robot.c: Building an Articulated Robot Arm select.c: A Selection Example

smooth.c: Specifying a Shading Model stencil.c: Stencil Examples

stroke.c: Executing Multiple Display Lists surface.c: A Simple NURBS Example

tess.c: Tessellation Callback Routines, Tessellation Callback Routines, Polygon Definition texbind.c: Creating and Using Texture Objects

texgen.c: Creating Contours

texsub.c: Replacing All or Part of a Texture Image texturesurf.c: Using Evaluators for Textures

torus.c, using a display list: An Example of Using a Display List trim.c: Trim a NURBS Surface

unproject.c: Reversing or Mimicking Transformations varray.c: Step 2: Specifying Data for the Arrays

projecting images: Texture-Mapping Applications

projection matrix: The Projection Transformation; General-Purpose Transformation Commands matrix stack: The Projection Matrix Stack

orthographic parallel projection matrix: Orthographic Projection perspective projection matrix: Perspective Projection

shadows created with: Shadows

projection transformations: The Projection Transformation; Projection Transformations camera lens analogy: Overview: The Camera Analogy

collapsing geometry to a single plane: OpenGL Correctness Tips jittering: Scene Antialiasing, Scene Antialiasing

orthographic parallel: OpenGL Correctness Tips, The Projection Transformation, Orthographic Projection

perspective: Perspective Projection picking: Picking

texturing effects: The q Coordinate two-dimensional: Orthographic Projection

proxy textures: Texture Proxy

q texture coordinates: The q Coordinate

avoiding negative values: OpenGL Correctness Tips

http://heron.cc.ukans.edu/ebt-bin/nph-dweb/dynaw...Generic__BookTextView/38709;cs=fullhtml;pt=38414 (60 of 74) [4/28/2000 9:59:46 PM]