Index

3DS format. See formats
AutoDesk 3DS Format

64-bit compilation
MIPS-3, MIPS-4, and 64-Bit Compilation

Abbot, Edwin A.
Geometric Reasoning

Abbruscato, Frank
SIMNET S1000 Format

accessing GL
Graphics State

acreate()
Allocating Memory With pfMalloc()
Glossary
Creating and Deleting IRIS Performer Objects

activation of traversals
Database Traversal

active database
animation sequences
Animation Sequences
as programming language
Survey of Visual Simulation Techniques
billboards
pfBillboard Nodes
Billboard Objects
level of detail
Level of Detail Selection
morphing terrain
Morphing
skeleton
Skeleton Animation
total animation
Total Animation

active scene graph. See application traversal
Application Traversal

Adams, J. Alan
USNA Standard Graphics Format

Advanced Graphics Applications
Image Gallery
Image Gallery

affine transformations
Matrix Operations

Ahuja, Narendra
Survey Articles in Magazines

airplane
Setting Up a Viewpoint

Akeley, Kurt
Computer Graphics

alias, definition
Glossary

allocating memory. See memory
Allocating Memory With pfMalloc()

alpha function
Alpha Function

animation
pfSequence Nodes
Character Animation
characters
Generalized Morphing
pfMorph node
Database Traversal
sequences
Animation Sequences
skeleton
Skeleton Animation
total
Total Animation
using quaternions for
Quaternion Operations

antialiasing
Antialiasing
Antialiasing
Antialiasing

APP
The Functional Stages of a Pipeline

application areas
broadcast video
What Is IRIS Performer?
driver training
Applications
entertainment
What Is IRIS Performer?
flight simulation
Applications
rapid rendering
Why Use IRIS Performer?
simulation based design
Why Use IRIS Performer?
virtual reality
Why Use IRIS Performer?
Applications
What Is IRIS Performer?
virtual sets
Why Use IRIS Performer?
visual simulation
Why Use IRIS Performer?
What Is IRIS Performer?

application buffer
pfBuffer
defined
Glossary

application development tools
Applications

application traversal
Application Traversal

applying pfGeoStates
Applying pfGeoStates

arenas
Allocating Memory With pfMalloc()
defined
Glossary
See also shared memory
Allocating Memory With pfMalloc()

arithmetic, precision of
Special Coding Tips

array allocation of pfObjects
guaranteed failure
Creating and Deleting IRIS Performer Objects

aspect ratio matching
Setting Up a Viewing Frustum

assembly mock-up
Why Use IRIS Performer?

assignment operators
Math Operators

asynchronous database paging, definition
Glossary

asynchronous database processing
Asynchronous Database Processing

asynchronous deletion
pfAsyncDelete

asynchronous I/O
Asynchronous I/O

atmospheric effects
enabling
Atmospheric Effects

atmospheric model
Special Features (pfEarthSky, pfSequence, pfLightPoint)

attribute binding, definition
Glossary

attributes
bindings
Attribute Bindings
libpr Databases
flat-shaded
Attribute Bindings
overview
Attributes
traversals
Database Traversal

AutoCAD
AutoCAD DXF Format

automatic type casting
pfObjects and the Class Hierarchy

average statistics
The pfStats Data Structure
See also statistics
The pfStats Data Structure

axes, default
Setting Up a Viewpoint

axially aligned boxes
Axially Aligned Boxes

base geometry
Decals
definition
Glossary

basic-block counting
Using pixie and prof to Measure Performance

behaviors
Application Traversal

bezel, definition
Glossary

bidirectional lights
pfLightPoint
See also lighting
pfLightPoint

billboards
pfBillboard Nodes
Billboard Objects
Graphics and Modeling Techniques to Improve Performances
defined
Glossary
implementation using sprites
Sprite Transformations

BIN format. See formats
Silicon Graphics BIN Format

binary operators
Math Operators

binning, definition
Glossary

bins
Antialiasing

bins, definition
Glossary

blended transparency
Transparency

bottlenecks
Graphics Pipeline Tuning Tips
fill
Fill Bottlenecks
host
Host Bottlenecks
transform
Transform Bottlenecks

bounding volumes
defined
Glossary
See also volumes
Bounding Volumes

boxes, axially aligned
Axially Aligned Boxes

broadcast video
What Is IRIS Performer?

buffer scope
pfBuffer
defined
Glossary

BYU format. See formats
Brigham Young University BYU Format

C code examples
Conventions

C++
Using IRIS Performer From C++

C++ code examples
Conventions

C++, See IRIS Performer C++ API
Programming with C++

caching
intersections
Efficient Intersection and Traversals
state changes
Draw Stage and Graphics Pipeline Optimizations

callbacks
culling
pfNode Cull and Draw Callbacks
Paths Through the Scene Graph
customized culling
Cull Traversal
discriminators for intersections
Discriminator Callbacks
draw
pfNode Cull and Draw Callbacks
function
pfNode Cull and Draw Callbacks
node
pfNode Cull and Draw Callbacks
post-cull
pfNode Cull and Draw Callbacks
post-draw
pfNode Cull and Draw Callbacks
pre-cull
pfNode Cull and Draw Callbacks
pre-draw
pfNode Cull and Draw Callbacks
process
Process Callbacks

CASEVision
Performance Measurement Tools

casting
Using IRIS Performer Header Files

channels
channel share group
definition
Glossary
channel share groups
Using Channel Groups
configuring
Using Channels
creating
Creating and Configuring a pfChannel
definition
Glossary
multiple, rendering
Using Multiple Channels
setting up
Setting Up a Channel
share mask, definition
Glossary

character animation
Character Animation

children, of a node, definition
Glossary

circular references. See references, circular
Multiprocessing Framework

class hierarchy, definition
Glossary

class inheritance
pfObjects and the Class Hierarchy
pfObjects and the Class Hierarchy
definition
Glossary

classes
libpf
pfBillboard
Billboard Objects
Header Files
pfBillboard Nodes
Attribute Inheritance
pfBuffer
Asynchronous Database Processing
Header Files
pfChannel
Header Files
Setting Up the Display Environment
Creating and Configuring a pfChannel
pfDCS
State Inheritance
Attribute Inheritance
pfDCS Nodes
Header Files
pfEarthSky
Using pfEarthSky
Special Features (pfEarthSky, pfSequence, pfLightPoint)
Header Files
Setting Up a Scene
pfFrameStats
Statistics
pfGeode
Header Files
Attribute Inheritance
pfGeode Nodes
pfGroup
Header Files
Attribute Inheritance
pfLayer
pfLayer Nodes
Header Files
Attribute Inheritance
pfLightPoint
Header Files
pfLightPoint Nodes
Special Features (pfEarthSky, pfSequence, pfLightPoint)
Attribute Inheritance
pfLightSource
Projective Texture
Header Files
pfLightSource Nodes
Attribute Inheritance
pfLOD
pfLOD Nodes
Header Files
Attribute Inheritance
pfLODState
Header Files
pfMorph
Morphing
Database Traversal
Attribute Inheritance
Header Files
pfNode
Attribute Inheritance
pfNode Operations
pfNode Attributes
Nodes
Header Files
pfPartition
pfPartition Nodes
Header Files
Attribute Inheritance
pfPath
Header Files
pfPipe
Setting Up the Display Environment
Header Files
Creating and Configuring a pfPipe
pfPipeWindow
Using pfPipeWindows
Setting Up the Display Environment
Header Files
pfScene
Setting Up the Display Environment
pfScene Nodes
Attribute Inheritance
Header Files
pfSCS
pfSCS Nodes
Attribute Inheritance
State Inheritance
Header Files
pfSequence
Attribute Inheritance
Header Files
pfSequence Nodes
pfSwitch
Attribute Inheritance
pfSwitch Nodes
Header Files
pfText
Header Files
Attribute Inheritance
pfTraverser
Header Files
libpfdu
pfdBuilder
Creation of a Performer Database Converter using libpfdu
pfdGeom
Creation of a Performer Database Converter using libpfdu
pfdPrim
Creation of a Performer Database Converter using libpfdu
libpr
pfBox
Axially Aligned Boxes
Header Files
pfColortable
Header Files
pfCycleBuffer
Header Files
CycleBuffers
pfCycleMemory
CycleBuffers
Header Files
pfCylinder
Cylinders
Header Files
pfDataPool
Datapools
Header Files
pfDispList
Header Files
Draw Stage and Graphics Pipeline Optimizations
Display Lists (pfDispList)
pfFile
Header Files
pfFog
Header Files
pfFont
pfFont
Header Files
pfFrustum
Header Files
pfGeoSet
Header Files
Draw Stage and Graphics Pipeline Optimizations
Geometry Sets
High-Performance Geometry Rendering (pfGeoSet)
pfGeoState
Header Files
Graphics State Encapsulation (pfGeoState)
pfHighlight
Header Files
pfHit
Header Files
Intersecting With pfGeoSets
pfLight
Header Files
pfLightModel
Header Files
pfList
Header Files
pfLPointState
pfLightPoint Nodes
pfLPointState
Special Features (pfEarthSky, pfSequence, pfLightPoint)
Header Files
pfMaterial
Header Files
pfMatrix
Matrix Operations
Header Files
pfMatStack
Matrix Stack Operations
Header Files
pfMemory
Header Files
pfObject
Header Files
pfPlane
Half-spaces (Planes)
pfPolytope
Header Files
pfQuat
Quaternion Operations
Header Files
pfSeg
Creating and Working With Line Segments
Header Files
pfSegSet
Header Files
Intersection Requests: pfSegSets
pfSphere
Header Files
Spheres
pfSprite
Sprite Transformations
Header Files
pfState
Header Files
Efficient Graphics State Management (pfState)
pfStats
Statistics
The pfStats Data Structure
Header Files
pfString
pfString
Header Files
pfTexEnv
Header Files
pfTexGen
Header Files
pfTexture
Header Files
pfType
Header Files
pfVec2
Header Files
Vector Operations
pfVec3
Vector Operations
Header Files
pfVec4
Header Files
Vector Operations
pfWindow
Header Files

Clay, Sharon
Computer Graphics

clearing the screen
Special Features (pfEarthSky, pfSequence, pfLightPoint)

clipped, definition
Glossary

clipping planes, definition
Glossary

clocks
high-resolution
High-Resolution Clock

cloned instancing
Cloned Instancing
definition
Glossary

cloning
Visual Database (pfScene)

cloning, definition
Glossary

close()
Asynchronous I/O

closed loop control system
Dynamic Load Management

color tables
Color Tables (pfColortable)

compiled mode
pfGeoSet Draw Mode

compiled mode
definition
Glossary

compiler flags
Using Compiler Flags

compiling IRIS Performer applications
Compiling and Linking IRIS Performer Applications

complex pixels, definition
Glossary

computer aided design
Why Use IRIS Performer?

conferences
I/ITSEC
Conference Proceedings
IMAGE
Conference Proceedings
SIGGRAPH
Computer Graphics
SPIE
Conference Proceedings

configuration
pfChannel
Creating and Configuring a pfChannel
pfFrustum
Setting Up a Viewing Frustum
pfPipe
Creating and Configuring a pfPipe
pfPipeWindow
Using pfPipeWindows
pfScene
Setting Up a Scene
viewpoint
Setting Up a Viewpoint
viewport
Setting Up a Viewport

configuring IRIS Performer
Initializing Processes

configuring IRIS Performer. See pfConfig()
Overview

containment, frustum
Visibility Testing

conventions
naming
Intuitive Interface
typographical
Conventions

coordinate systems
Setting Up a Viewpoint
dynamic. See pfDCS nodes
pfDCS Nodes
static. See pfSCS nodes
pfSCS Nodes

coplanar geometry
Decals
Decals
pfLayer Nodes

copying pfObjects
Copying Objects with pfCopy()

core dump
from aggregate pfObject allocation
Creating and Deleting IRIS Performer Objects
from mixing malloc() and pfFree()
Allocating Memory With pfMalloc()
from mixing pfMalloc() and free()
Allocating Memory With pfMalloc()
from static pfObject allocation
Creating and Deleting IRIS Performer Objects
from unshared pfObject allocation
Creating and Deleting IRIS Performer Objects

Coryphaeus
Designer's Workbench
What Is IRIS Performer?
DWB format
libpfdu - Utilities for Creation of Efficient Performer Run-Time structures
The libpfdb Loader Library

counter, video
Video Refresh Counter (VClock)
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)

counting, basic-block
Using pixie and prof to Measure Performance

CPU statistics
CPU Statistics

critically damped, definition
Glossary

CULL
The Functional Stages of a Pipeline

cull volume visualization, definition
Glossary

cull-overlap-draw multiprocessing model
Cull-Overlap-Draw Mode

culling
More Controls
callbacks
Cull Traversal
definition
Glossary
efficient
Organizing a Database for Efficient Culling
multithreading
Multithreading
traversal
Cull Traversal
traversals. See traversals
Database Traversal

cumulative statistics
The pfStats Data Structure
See also statistics
The pfStats Data Structure

current statistics
The pfStats Data Structure
See also statistics
The pfStats Data Structure

cycle buffers
Passthrough Data
CycleBuffers

cylinders
as bounding volumes'
Cylinders
bounding
Efficient Intersection and Traversals

DAG. See directed acyclic graph
Visual Database (pfScene)

data files
Overview

data fusion
Model Implementation and Database-Format Loaders
defined
Glossary

database builder
The libpfdu Geometry Builder Library

database construction
The libpfdu Geometry Builder Library

database loaders
Application Traversal
Initialization and Type Definition

database paging
Organizing a Database for Efficient Culling
Asynchronous Database Processing
definition
Glossary

databases
Database Construction
creating
Creating a Database
formats. See formats
Supported Database Formats
importing
What Is IRIS Performer?
Model Implementation and Database-Format Loaders
Overview of Performer Database Creation and Conversion
optimization
Balancing Cull and Draw Processing with Database Hierarchy
organization
Organizing a Database for Efficient Culling
Database Organization
See also traversals
Supported Database Formats
traversals
Database Traversal

databases, as programming languages
Survey of Visual Simulation Techniques

datapools. See pfDataPool data structures
Datapools

Davis, Tom
The IRIS GL and OpenGL Graphics Libraries

dbx
Use the Simplest Process Model
See also debugging
Use the Simplest Process Model

DCS. See pfDCS nodes
pfDCS Nodes

debug libraries, definition
Glossary

debugging
dbx
Use the Simplest Process Model
gldebug
Using gldebug and ogldebug to Observe Graphics Calls
guidelines
Guidelines for Debugging
ogldebug
Using gldebug and ogldebug to Observe Graphics Calls
shared memory and
Shared Memory

decal geometry, definition
Glossary

decals. See coplanar geometry
Decals

deleting objects
pfDelete() and Reference Counting

deletion
Visual Database (pfScene)

demonstration programs
Conventions

depth buffer
shadows
Creating, Configuring and Opening pfPipeWindow

depth complexity, definition
Glossary

Design Vision, Inc.
Image Gallery

Designer's Workbench
What Is IRIS Performer?

detail texture
Graphics and Modeling Techniques to Improve Performances

DeWolff Partnership
Lightscape Technologies LSA and LSB Formats

Diamond, A. J.
Image Gallery
Image Gallery
Image Gallery
Image Gallery
Lightscape Technologies LSA and LSB Formats

Digital Architecture
Image Gallery

directed acyclic graph
Visual Database (pfScene)

directional lights
pfLightPoint
See also lighting
pfLightPoint

disable
graphics modes
Enable / Disable

discriminator callbacks
for intersections
Discriminator Callbacks

displace decaling
Decals
defined
Glossary

display list
Display Lists
Draw Stage and Graphics Pipeline Optimizations
GL display list usage
Display Lists (pfDispList)
IRIS Performer internal
Display Lists (pfDispList)

display list mode
pfGeoSet Draw Mode

display lists, definition
Glossary

display, stereo
One Window per Pipe, Multiple channels per Window

displaying statistics. See statistics
Statistics

dlopen()
pfdLoadFile - Loading Arbitrary Databases into Performer
Finding and initializing a Converter

dlsym()
Finding and initializing a Converter
pfdLoadFile - Loading Arbitrary Databases into Performer

documentation
IRIS GL references
The IRIS GL and OpenGL Graphics Libraries
OpenGL references
The IRIS GL and OpenGL Graphics Libraries

Donald Schmitt and Company
Lightscape Technologies LSA and LSB Formats
Image Gallery
Image Gallery

double-precision arithmetic
Special Coding Tips

DRAW
The Functional Stages of a Pipeline

draw mask
pfNode Draw Mask

draw mask, definition
Glossary

draw traversals. See traversals
Database Traversal

drive motion model
Starting and Quitting perfly

driver training
Applications

drop, definition
Glossary

DSO
libpf
What Is IRIS Performer?
libpfdu
What Is IRIS Performer?
libpfui
What Is IRIS Performer?
libpfutil
What Is IRIS Performer?
libpr
What Is IRIS Performer?

DWB format. See formats
Designer's Workbench DWB Format

DXF format. See formats
AutoCAD DXF Format

dynamic coordinate systems. See pfDCS nodes
pfDCS Nodes

dynamic shared objects
What Is IRIS Performer?
defined
Glossary

dynamic, definition
Glossary

dynamics, simulation of
Mathematics of Flight Simulation

earth/sky model
Setting Up a Scene

effects, atmospheric, enabling
Atmospheric Effects

elastomeric propulsion system
Setting Up a Viewpoint

enabling
atmospheric effects
Atmospheric Effects
fog
Atmospheric Effects
graphics modes
Enable / Disable
statistics classes
Statistics Rules of Use

entertainment
What Is IRIS Performer?

environment mapping
Environment Mapping

environment model
Special Features (pfEarthSky, pfSequence, pfLightPoint)

environment variables
DISPLAY
Communicating with the Window System
LD_LIBRARY_PATH
pfdLoadFile - Loading Arbitrary Databases into Performer
Using pixie and prof to Measure Performance
Using pixie and prof to Measure Performance
PFHOME
pfdLoadFile - Loading Arbitrary Databases into Performer
PFLD_LIBRARY_PATH
pfdLoadFile - Loading Arbitrary Databases into Performer
PFNFYLEVEL
Error-Handling and Notification
PFPATH
File Search Paths
Setting the Search Path for Database Files
File Search Paths
PFTMPDIR
Shared Arenas
PROFDIR
Using pixie and prof to Measure Performance
S1KPROJ
Project selection

environmental effects
More Controls

environmental model
Setting Up a Scene

error-handling
floating-point operations
Avoid Floating-Point Exceptions
notification levels
Error-Handling and Notification

Euler angles
Setting Up a Viewpoint
defined
Glossary

example code
More pfWindow Examples
Overview
Fill Statistics
Statistics Examples
Morphing
More pfWindow Examples
Using glprof to Find Performance Bottlenecks
Application Traversal
Creation of a Performer Database Converter using libpfdu
libpr Sample Code
Paths Through the Scene Graph
pfBillboard Nodes
libpr Sample Code
pfLPointState
Initialization and Type Definition
Draw Process Tips
Displaying Statistics Simply
Process Pipeline Tuning Tips
Database Loading Details
Overview of Performer Database Creation and Conversion
Level-of-Detail Range Processing
Draw Process Tips
Highlights
Glossary
Balancing Cull and Draw Processing with Database Hierarchy
More pfWindow Examples
The pfWindow Windowing Functions
Texture

examples
Creating, Configuring and Opening pfPipeWindow
Example of pfPipe Use
simple.c
Overview

exceptions, floating-point
Avoid Floating-Point Exceptions

exec()
Shared Memory

extending bounding volumes
Creating Bounding Volumes

extensibility
callback functions
Defining Virtual Functions
subclassing
help:subclassing objects
Subclassing pfObjects
user data
User Data

face culling
Frontface / Backface

faces, simulating
Generalized Morphing

Feiner, Steven K.
Computer Graphics

field of view
Setting Up a Viewing Frustum

field, video
Stage Timing Graph

files
formats. See formats
Supported Database Formats
loading. See databases
Overview of Performer Database Creation and Conversion

fill statistics
Fill Statistics
See also statistics
Fill Statistics

Fischetti, Mark. A.
Survey Articles in Magazines

fixed frame rates
Frame-Rate Management
defined
Glossary

flags, compiler
Using Compiler Flags

flat shading
Primitive Connectivity

flat-shaded primitives
pfGeoSet Draw Mode

flatten, definition
Glossary

flattening
Visual Database (pfScene)

FLIGHT format. See formats
MultiGen OpenFlight Format

flight motion model
Flying

flight simulation
Applications
Mathematics of Flight Simulation

flimmering
Glossary
Decals

floating phase, definition
Glossary

floating-point exceptions
Process Pipeline Tuning Tips
Avoid Floating-Point Exceptions

fog
More Controls
atmospheric effects
Atmospheric Effects
configuring
Fog
data structures
Fog
Atmospheric Effects
enabling
Atmospheric Effects
performance cost
Transform Bottlenecks

Foley, James D.
Computer Graphics

forbidden fruit
See reserved functions
Overview

fork()
Multiprocessing and Memory
Initializing Shared Memory
Shared Memory

formats
3DS
AutoDesk 3DS Format
BIN
Silicon Graphics BIN Format
BYU
Brigham Young University BYU Format
DWB
Designer's Workbench DWB Format
DXF
AutoCAD DXF Format
FLIGHT
MultiGen OpenFlight Format
MultiGen OpenFlight Format
GDS
McDonnell-Douglas GDS Format
GFO
Silicon Graphics GFO Format
IM
Silicon Graphics IM Format
IRTP
AAI/Graphicon IRTP Format
LSA
Lightscape Technologies LSA and LSB Formats
LSB
Lightscape Technologies LSA and LSB Formats
MEDIT
Medit Productions MEDIT Format
NFF
NFF Neutral File Format
OBJ
Wavefront Technology OBJ Format
Open Inventor
Silicon Graphics Open Inventor Format
PHD
Silicon Graphics PHD Format
POLY
Side Effects POLY Format
PTU
Silicon Graphics PTU Format
S1000
SIMNET S1000 Format
SGF
USNA Standard Graphics Format
SGO
Silicon Graphics SGO Format
SPF
USNA Simple Polygon File Format
SPONGE
Sierpinski Sponge Loader
STAR
Star Chart Format
STL
3D Lithography STL Format
SV
SuperViewer SV Format
TRI
Geometry Center Triangle Format
UNC
UNC Walkthrough Format
VRML
Silicon Graphics Open Inventor Format

FOV. See field of view
Setting Up a Viewing Frustum

fractal geometry
Database Formats and IRIS Performer

frame accurate, definition
Glossary

frames
definition
Glossary
management
Frame-Rate Management
overrun
Fixing the Frame Rate
rate
Frame Rate and Synchronization
synchronization
Frame Synchronization

free()
Allocating Memory With pfMalloc()

free-store management
pfDelete() and Reference Counting

Friends of Performer
Database Construction

frustum
Setting Up a Viewing Frustum
Setting Up a Viewing Frustum
as camera. See channel
Frusta
as culling volume
Frusta
definition of
Glossary

FTP
Internet Resources

function callbacks
pfNode Cull and Draw Callbacks

gaze vector, definition
Glossary

GDS format. See formats
McDonnell-Douglas GDS Format

genlock
Video Refresh Counter (VClock)

geometry
Visual Database (pfScene)
coplanar. See coplanar geometry
pfLayer Nodes
definition, pfGeoSet
High-Performance Geometry Rendering (pfGeoSet)
nodes
pfGeode Nodes
rendering state, pfGeoState
Graphics State Encapsulation (pfGeoState)
rotating
pfBillboard Nodes
Graphics and Modeling Techniques to Improve Performances
volumes. See volumes
Defining a Volume

geometry movie
Animation Sequences

getenv()
File Search Paths

getting started
About This Guide

GFO format. See formats
Silicon Graphics GFO Format

gift software
Conventions

gldebug
Performance Measurement Tools
Using gldebug and ogldebug to Observe Graphics Calls
Using gldebug and ogldebug to Observe Graphics Calls
Using gldebug and ogldebug to Observe Graphics Calls

gldebug utility
Using gldebug and ogldebug to Observe Graphics Calls

GLdebug.history
Using gldebug and ogldebug to Observe Graphics Calls

global state
Local and Global State

glprof
Performance Measurement Tools

glprof utility
Using glprof to Find Performance Bottlenecks

glXChooseVisual()
Configuring the framebuffer of a pfWindow

GLXgetconfig()
Configuring the framebuffer of a pfWindow

GLXlink()
pfWindows and GL Windows
Configuring the framebuffer of a pfWindow

graph
defined
Glossary
directed acyclic
Visual Database (pfScene)
stage timing. See stage timing graph
Interpreting Statistics Displays

graphical user interface
Exploring the IRIS Performer Sample Scenes

graphics
attributes
Graphics State
load. See load management
Load and Stress
modes
Rendering Modes
Graphics State
pipelines. See pipelines
Using Pipes
state
Graphics State
state elements, definition
Glossary
statistics
Rendering Statistics
See also statistics
Rendering Statistics
values
Graphics State
Rendering Values

graphics context, definition
Glossary

graphics libraries
database sorting
Cull Process Tips
input handling
Draw Process Tips
Draw Process Tips
IRIS GL
About This Guide
linking
Graphics Libraries
objects
Balancing Cull and Draw Processing with Database Hierarchy
OpenGL
About This Guide
overview
Graphics Libraries
See also IRIS GL, OpenGL
Cull Process Tips

graphics state
Efficient Graphics State Management (pfState)

ground
Special Features (pfEarthSky, pfSequence, pfLightPoint)

grout, digital
Terrain Level of Detail

GUI
Exploring the IRIS Performer Sample Scenes

Haeberli, Paul
Silicon Graphics SGO Format

Haines, Eric
NFF Neutral File Format

half-spaces
Half-spaces (Planes)

Halvorson, Mike
Silicon Graphics Open Inventor Format

Hamilton, Sir William Rowan
Quaternion Operations

handling flimmering
pfLayer Nodes

Har'El, Zvi
Silicon Graphics PHD Format

header files
Header Files
Using IRIS Performer Header Files

heading
Setting Up a Viewpoint
defined
Glossary

headlights
pfLightSource Nodes

heap
Glossary
defined
Glossary

Hein, Piet
Designer's Workbench DWB Format

Helman, James
Computer Graphics
Computer Graphics

help
pfLayer Nodes
Setting Up a Viewing Frustum
64-bit compilation
MIPS-3, MIPS-4, and 64-Bit Compilation
accessing the FTP site
Internet Resources
accessing the mailing list
Internet Resources
accessing the web page
Internet Resources
C++ argument passing
Typedefed Arrays vs. Structs
channel groups
Using Channel Groups
channels
Using Channels
clearing a channel
Process Callbacks and Passthrough Data
compiling and linking
Compiling and Linking IRIS Performer Applications
constant frame rates
Consistent Frame Rates
database formats
Supported Database Formats
database paging
Asynchronous Database Processing
default shared arena size
Shared Arenas
display lists
pfGeoSet Draw Mode
drawing a background
Creating Visual Effects
drawing text
pfText Nodes
finding files
Setting the Search Path for Database Files
flimmering
Glossary
frame rates
Frame-Rate Management
Friends of Performer
Database Construction
geometry specification
Geometry
getting started
Getting Acquainted With IRIS Performer
graphics attributes
Graphics State
inheriting transformations
Sample Program
initializing IRIS Performer
Initializing and Configuring IRIS Performer
instancing
Instancing
interfacing C and C++ code
Interface Between C and C++ API Code
IRIX 6.2 issues
MIPS-3, MIPS-4, and 64-Bit Compilation
level of detail
Level-of-Detail Management
life-like character animation
Character Animation
lighting
pfLightSource Nodes
main simulation loop
Simulation Loop
morphing
Morphing
multiple pipelines
The Functional Stages of a Pipeline
multiprocess configuration
Creating and Configuring a pfPipe
node callback functions
pfNode Cull and Draw Callbacks
nodes
Nodes and Node Types
overview of chapter contents
What This Guide Contains
performance tuning
Performance-Tuning Overview
pipes
Using Pipes
sample code
Exploring Code
sample programs explained
Overview
scene graph structure
Organizing a Database for Efficient Culling
scene graphs
Scene Graph Hierarchy
shadows
Spotlights and Shadows
shared memory
Memory Allocation
spotlights
Spotlights and Shadows
traversals
Database Traversal
understanding process models
Comparative Structure of Models
understanding statistics
Interpreting Statistics Displays
using libpr
Overview
using the C++ API
Using IRIS Performer From C++
view specification
Setting Up a Viewpoint
viewports
Setting Up a Viewport
where to start
About This Guide
windows
Using pfPipeWindows
Creating and Configuring a pfPipe
writing a loader
Creation of a Performer Database Converter using libpfdu

help compiler flags
Using Compiler Flags

help process callback functions
Process Callbacks

Henke, Joe
Image Gallery

high-resolution clocks
High-Resolution Clock
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)

Hoffman, Wes
Computer Graphics

home page
Internet Resources

Hughes, John F.
Computer Graphics

Hume, Andrew
Silicon Graphics PHD Format

I/ITSEC
Conference Proceedings

I/O
asynchronous
Asynchronous I/O
handling
Draw Process Tips
Draw Process Tips

I3DM modeler
SuperViewer SV Format

identity matrix, definition
Glossary

illegal C++ object creation examples
Creating and Deleting IRIS Performer Objects

IM format. See formats
Silicon Graphics IM Format

image computation rate
Frame Rate and Synchronization

IMAGE Society
Conference Proceedings

immediate mode rendering, definition
Glossary

immediate-mode
pfGeoSet Draw Mode

Impact
Why Use IRIS Performer?

importing databases. See databases
Model Implementation and Database-Format Loaders

in-lining math functions
Special Coding Tips

include files
Using IRIS Performer Header Files
Header Files

indexed pfGeoSets
Geometry Sets

Indigo2/Impact
Why Use IRIS Performer?

industrial simulation
Why Use IRIS Performer?

INF (infinite value) exception
Avoid Floating-Point Exceptions

info-performer
Internet Resources

inheriting
attributes
Attribute Inheritance
classes
pfObjects and the Class Hierarchy
state
State Inheritance

initializing
C++ virtual functions
Initializing Shared Memory
IRIS Performer. See pfInit()
Overview
multiprocessing
Initializing Processes
pfType system
Initializing Shared Memory
shared memory
Initializing Shared Memory

input handling
Draw Process Tips
Draw Process Tips

inset views
One Window per Pipe, Multiple channels per Window

inst images
performer_eoe
Dynamic Shared Objects (DSOs)

installing IRIS Performer
Installing the Software

instancing
Instancing
cloned
Cloned Instancing
definition
Glossary
shared
Shared Instancing

intensity, of light points
pfLightPoint

internal API
Overview

interpolation, MIP-map
Graphics and Modeling Techniques to Improve Performances

intersections
Visual Database (pfScene)
caching
Efficient Intersection and Traversals
masks
Intersection Masks
Intersection Masks
performance
Efficient Intersection and Traversals
pipeline, definition
Glossary
See also discriminator callbacks
Discriminator Callbacks
tests
geometry sets
Intersecting With pfGeoSets
planes
Intersecting With Planes and Triangles
point-volume
Point-Volume Intersection Tests
segment-volume
Intersecting With Volumes
segments
Discriminator Callbacks
Creating and Working With Line Segments
triangles
Intersecting With Planes and Triangles
volume-volume
Volume-Volume Intersection Tests
traversals. See traversals
Database Traversal

IRIS GL
About This Guide
documentation
The IRIS GL and OpenGL Graphics Libraries
functions
afunction()
Alpha Function
blendfunction()
Multisampling
Transparency
finish()
Collecting and Accessing Statistics in Your Application
fogvertex()
Fog
lmcolor()
Transform Bottlenecks
Other Tips
Draw Stage and Graphics Pipeline Optimizations
lmdef()
Materials
Materials
Lighting
Lighting
mssize()
Configuring the framebuffer of a pfWindow
pntsizef()
pfLightPoint
RGBsize()
Configuring the framebuffer of a pfWindow
shademodel()
Transform Bottlenecks
stencil()
Decals
subtexload()
Texture
swapbuffers()
Process Callbacks and Passthrough Data
tevdef()
Texture
Texture
texdef2d()
Texture
Texture
Texture
texgen()
Automatic Texture Coordinate Generation
winopen()
pfWindows and GL Windows
zbsize()
Configuring the framebuffer of a pfWindow
library and application suffix
Graphics Libraries
porting from
Porting From IRIS GL to OpenGL

IRIS IM
X and IRIS IM
pfPipeWindows in Action

IRIS Image Vision Library
Silicon Graphics PTU Format

IRIS Inventor. See Open Inventor
Silicon Graphics Open Inventor Format

IRIS Performer
and C++
Using IRIS Performer From C++
applications
compiling and linking
Compiling and Linking IRIS Performer Applications
setting up
Overview
structure of
Overview
bibliography
Bibliography
C API
Overview
C++ API
Programming with C++
Programming with C++
accessor functions
Overview
header files
Header Files
member functions
Overview
new
Creating and Deleting IRIS Performer Objects
object creation
Creating and Deleting IRIS Performer Objects
object deletion
Creating and Deleting IRIS Performer Objects
public structs
Class Taxonomy
reserved functions
Overview
static class data
Static Member Data
subclassing
Subclassing pfObjects
using both C and C++ API
Porting from C API to C++ API
using the C API with C++
Porting from C API to C++ API
differences between C and C++
Programming with C++
error-handling
Error-Handling and Notification
features
Features
FTP site
Internet Resources
getting started
What This Guide Contains
graphics libraries
Graphics Libraries
initializing
See pfInit()
Overview
installing
Installing the Software
introduction
About This Guide
libraries
Overview of the IRIS Performer Libraries
What Is IRIS Performer?
mailing list
Internet Resources
naming conventions
Intuitive Interface
ordering documentation
The IRIS GL and OpenGL Graphics Libraries
release notes
Installing the Software
sample programs
Getting Acquainted With IRIS Performer
type system
pfType Class
Initialization and Type Definition
Class Taxonomy
Determining Object Type
web page
Internet Resources
why use IRIS Performer
Why Use IRIS Performer?

IRIX kernel
Shared Memory

IRTP format. See formats
AAI/Graphicon IRTP Format

Johnson, Nelson
AutoCAD DXF Format

Johnston, Eric
Computer Graphics

Jones, Michael
Computer Graphics

Jump, Dennis N.
AutoCAD DXF Format

Kalawsky, Roy S.
Virtual Reality

Kaleido, polyhedron generator
Silicon Graphics PHD Format

kernel
Shared Memory

keyframing
using quaternions for
Quaternion Operations

Kichury, John
SuperViewer SV Format

latency
Low-Latency Image Generation
controlling
Process Pipeline Tuning Tips
defined
Glossary
total
Low-Latency Image Generation
transport delay
Low-Latency Image Generation
visual
Low-Latency Image Generation

latency-critical
definition
Glossary
updates
Process Pipeline Tuning Tips

layer geometry
Decals
Decals
definition
Glossary

layering, internal software structure
What Is IRIS Performer?

level of detail
Level of Detail Selection
blended transitions
Level-of-Detail Transition Blending
cannonical channel resolution
Level-of-Detail Range Processing
cannonical field of view
Level-of-Detail Range Processing
defined
Glossary
stress management
Load and Stress
switching
pfLOD Nodes
use in optimization
Cull and Intersection Optimizations

Lewis, Frank L.
Mathematics of Flight Simulation

libpf
What Is IRIS Performer?
defined
Glossary
overview
Visual Simulation Application Library (libpf) Features

libpfdb
Overview of Performer Database Creation and Conversion

libpfdu
libpfdu - Utilities for Creation of Efficient Performer Run-Time structures
What Is IRIS Performer?
Overview of Performer Database Creation and Conversion
defined
Glossary
geometry builder
The libpfdu Geometry Builder Library
overview
Geometry Builder Library (libpfdu) Features

libpfui
What Is IRIS Performer?
drive model
Starting and Quitting perfly
flight model
Flying
overview
User Interface Library (libpfui) Features

libpfutil
What Is IRIS Performer?
Overview of Performer Database Creation and Conversion
defined
Glossary
overview
Utility Library (libpfutil) Features

libpr
What Is IRIS Performer?
and libpf
Overview
defined
Glossary
description
Overview
graphics state
Graphics State
overview
High-Performance Rendering Library (libpr) Features

libpr classes
Glossary

library names
Graphics Libraries

light points
Special Features (pfEarthSky, pfSequence, pfLightPoint)
definition
Glossary

lighting
directional
pfLightPoint
intensity
pfLightPoint
light points
pfLightPoint
pfLightPoint Nodes
light sources
pfLightSource Nodes
overview
Lighting

Lightscape Technologies
Lightscape Technologies LSA and LSB Formats
Image Gallery

Limber, Michael
Computer Graphics

line segments
Creating and Working With Line Segments
See also pfSegSet data structures
Creating and Working With Line Segments

linear algebra
Math Support

link libraries
What Is IRIS Performer?

linking IRIS Performer applications
Compiling and Linking IRIS Performer Applications

load management
Frame Control
level-of-detail scaling
Dynamic Load Management
statistics
Load and Stress

load, definition
Glossary

loaders
Creation of a Performer Database Converter using libpfdu

loading databases
The libpfdb Loader Library

loading files. See databases
Overview of Performer Database Creation and Conversion

local state
Local and Global State

locked phase, definition
Glossary

locks, allocating
Allocating Locks and Semaphores

LOD (level of detail)
managing
Level-of-Detail Management
See also level of detail
Load and Stress
See also load management
Load and Stress

Loral Advanced Distributed Simulation
SIMNET S1000 Format

LSA. See formats
Lightscape Technologies LSA and LSB Formats

LSB. See formats
Lightscape Technologies LSA and LSB Formats

macros
Special Coding Tips
PFADD_SCALED_VEC3
Vector Operations
PFADD_VEC3
Vector Operations
PFALMOST_EQUAL_MAT
Matrix Operations
PFALMOST_EQUAL_VEC3
Vector Operations
PFCOMBINE_VEC3
Vector Operations
PFCONJ_QUAT
Quaternion Operations
PFCOPY_MAT
Matrix Operations
PFCOPY_VEC3
Vector Operations
PFDISTANCE_PT3
Vector Operations
PFDIV_QUAT
Quaternion Operations
PFDOT_VEC3
Vector Operations
PFEQUAL_MAT
Matrix Operations
PFEQUAL_VEC3
Vector Operations
PFGET_MAT_COL
Matrix Operations
PFGET_MAT_COLVEC3
Matrix Operations
PFGET_MAT_ROW
Matrix Operations
PFGET_MAT_ROWVEC3
Matrix Operations
PFLENGTH_QUAT
Quaternion Operations
PFLENGTH_VEC3
Vector Operations
PFMAKE_IDENT_MAT
Matrix Operations
PFMAKE_SCALE_MAT
Matrix Operations
PFMAKE_TRANS_MAT
Matrix Operations
PFMATRIX
Interface Between C and C++ API Code
PFMULT_QUAT
Quaternion Operations
PFNEGATE_VEC3
Vector Operations
PFQUAT
Interface Between C and C++ API Code
PFSCALE_VEC3
Vector Operations
PFSET_MAT_COL
Matrix Operations
PFSET_MAT_COLVEC3
Matrix Operations
PFSET_MAT_ROW
Matrix Operations
PFSET_MAT_ROWVEC3
Matrix Operations
PFSET_VEC3
Vector Operations
PFSQR_DISTANCE_PT3
Vector Operations
PFSUB_VEC3
Vector Operations
PFVEC2
Interface Between C and C++ API Code
PFVEC3
Interface Between C and C++ API Code
PFVEC4
Interface Between C and C++ API Code

magic carpet
Going Beyond Visual Simulation

mailing list
Internet Resources

making databases
The libpfdu Geometry Builder Library

malloc()
Shared Memory
Shared Memory
See also memory, pfMalloc()
Shared Memory

masks, intersection
Intersection Masks
Intersection Masks

materials
Materials

math functions
Math Support

math routines
Vector Operations
in-lining
Special Coding Tips

matrices
4 by 4
Matrix Operations
affine
Matrix Operations
composition order
Matrix Operations
manipulating
Graphics Library Matrix Routines
stack functions
Matrix Stack Operations

matrix routines
transformations
Matrix Operations

matrix. See transformation
State Inheritance

measuring performance
Performance Measurement Tools

MEDIT format. See formats
Medit Productions MEDIT Format

Medit Productions
Medit
libpfdu - Utilities for Creation of Efficient Performer Run-Time structures
Medit format
The libpfdb Loader Library
Medit modeler
What Is IRIS Performer?

member functions
Overview
overloaded
Subclassing pfObjects

memory
allocating
Allocating Memory With pfMalloc()
Shared Memory
multiprocessing
Multiprocessing and Memory
shared. See shared memory
Memory Allocation

memory mapping, for shared arena
Shared Arenas

Menger sponge
Database Formats and IRIS Performer
Sierpinski Sponge Loader

minification
Graphics and Modeling Techniques to Improve Performances

MIP-map interpolation functions
Graphics and Modeling Techniques to Improve Performances

mixed model programming
Using pfPipeWindows

mode changes
Transform Bottlenecks

modelers
AutoCAD
AutoCAD DXF Format
Designer's Workbench
Designer's Workbench DWB Format
EasyScene
Designer's Workbench DWB Format
EasyT
Designer's Workbench DWB Format
I3DM
SuperViewer SV Format
Imagine
Silicon Graphics Open Inventor Format
Kaleido
Silicon Graphics PHD Format
Model
Wavefront Technology OBJ Format
ModelGen
MultiGen OpenFlight Format
MultiGen
MultiGen OpenFlight Format

models
Database Construction
Overview

Moller 400 aircar
Silicon Graphics Open Inventor Format

morph attribute, definition
Glossary

morphing
Morphing
Morphing
characters
Generalized Morphing
defined
Glossary
terrain
Morphing

Motif
pfPipeWindows in Action

motion models
drive
Starting and Quitting perfly
flight
Flying

motion sickness. See simulator sickness
Low-Latency Image Generation

Multi-Channel Option
One Window per Pipe, Multiple channels per Window

multibuffering
libpf Objects and Multiprocessing

MultiGen OpenFlight format
The libpfdb Loader Library

multiple channels
Setting Up a Viewpoint
One Window per Pipe, Multiple channels per Window
Using Channel Groups
rendering
Using Multiple Channels

multiple hardware pipelines
The Functional Stages of a Pipeline

multiple inheritance
avoidance of
Inheritance Graph
definition
Glossary

multiple pipelines. See pipelines
Video Refresh Counter (VClock)

multiprocessing
display-list generation, forcing
Forcing Display-List Generation
functions, invoking during
Rules for Invoking Functions While Multiprocessing
initializing
Initializing Processes
memory management
Multiprocessing and Memory
models of
Choosing a Multiprocessing Model
cull-overlap-draw
Cull-Overlap-Draw Mode
timing diagrams
Comparative Structure of Models
order of calls
Order of Calls
pipelines
Process Callbacks
pipelines, multiple
Multiple Pipelines
uses for
Successful Multiprocessing With IRIS Performer

multisampling
Multisampling
Antialiasing

multithreading
Multithreading
defined
Glossary

mutual exclusion, definition
Glossary

Nagaoka, Isao
Image Gallery

naming conventions, for IRIS Performer
Intuitive Interface

NaN (Not a Number) exception
Avoid Floating-Point Exceptions

Neider, Jackie
The IRIS GL and OpenGL Graphics Libraries

Newman, William M.
Computer Graphics

NFF format. See formats
NFF Neutral File Format

node draw mask
pfNode Draw Mask

nodes
callbacks
pfNode Cull and Draw Callbacks
defined
Glossary
overview
Visual Database (pfScene)
pruning
Traversal Order
sequences
pfSequence Nodes

non-degrading priorities, definition
Glossary

nonblocking access, definition
Glossary

nonblocking file interface
Asynchronous I/O

notification levels for errors
Error-Handling and Notification

Nye, Adrian
X, Xt, IRIS IM, and Window Systems
X, Xt, IRIS IM, and Window Systems

O'Reilly, Tim
X, Xt, IRIS IM, and Window Systems

OBJ format. See formats
Wavefront Technology OBJ Format

object derivation
pfObjects and the Class Hierarchy

object type
Determining Object Type

occlusion culling, definition
Glossary

ogldebug
Performance Measurement Tools
Using gldebug and ogldebug to Observe Graphics Calls
Using gldebug and ogldebug to Observe Graphics Calls
Using gldebug and ogldebug to Observe Graphics Calls

ogldebug utility
Using gldebug and ogldebug to Observe Graphics Calls

Onyx RealityEngine. See RealityEngine graphics
Multiple Pipelines

Onyx/RealityEngine2
Why Use IRIS Performer?

Open Inventor
Silicon Graphics Open Inventor Format
Application Traversal
Database Loading Details
loader, C++ implementation
Initialization and Type Definition

open()
Asynchronous I/O

OpenGL
About This Guide
documentation
The IRIS GL and OpenGL Graphics Libraries
functions
glAlphaFunc()
Alpha Function
glBlendFunc()
Multisampling
Transparency
glColorMaterial()
Draw Stage and Graphics Pipeline Optimizations
Other Tips
Transform Bottlenecks
glFinish()
Collecting and Accessing Statistics in Your Application
glFog()
Fog
glLight()
Lighting
Lighting
glMaterial()
Materials
Materials
glPointSize()
pfLightPoint
pfLightPoint
glShadeModel()
Transform Bottlenecks
glStencilOp()
Decals
glTexEnv()
Texture
Texture
glTexGen()
Automatic Texture Coordinate Generation
glTexImage2D()
Texture
Texture
Texture
glTexSubImage()
Texture
glXCreateContext()
pfWindows and GL Windows
library and application suffix
Graphics Libraries
overview
Graphics Libraries
porting to
Porting From IRIS GL to OpenGL

opera lighting
Spotlights and Shadows
defined
Glossary

operator
delete
Creating and Deleting IRIS Performer Objects
new
Creating and Deleting IRIS Performer Objects
Creating and Deleting IRIS Performer Objects

optimial pfGeoSet size
Draw Stage and Graphics Pipeline Optimizations

optimization
database parameters
Balancing Cull and Draw Processing with Database Hierarchy

ordered rendering
Antialiasing

organization of databases. See databases
Database Organization

orthogonal transformations
Matrix Operations

orthonormal transformations
Matrix Operations
Transforming Bounding Volumes

overload, definition
Glossary

overrun, definition
Glossary

overrun, frame
Fixing the Frame Rate

parent, of a node, defined
Glossary

partitions
pfPartition Nodes

pass-through data
defined
Glossary

passthrough data
Passthrough Data
Process Callbacks and Passthrough Data

paths
definition
Glossary
search paths
Setting the Search Path for Database Files
File Search Paths
through a simulated scene
Motion Using Paths
through scene graph
Paths Through the Scene Graph

perfly
Sample Code
Interpreting Statistics Displays
Getting Acquainted With IRIS Performer
pfdLoadFile - Loading Arbitrary Databases into Performer
Fill Statistics
definition
Glossary
demo program
Exploring the IRIS Performer Sample Scenes

performance
Performance
costs
lighting
Transform Bottlenecks
multisampling
Multisampling
intersection
Efficient Intersection and Traversals
measurement
Performance Measurement Tools
Performance Measurement Tools
tuning
database structure
Database Concerns
graphics pipeline
Graphics Pipeline Tuning Tips
guidelines, specific
Specific Guidelines for Optimizing Performance
optimizations, built-in
How IRIS Performer Helps Performance
overview
Performance-Tuning Overview
process pipeline
Process Pipeline Tuning Tips
RealityEngine graphics
Notes on Tuning for RealityEngine Graphics

Performance Co-Pilot
Performance Measurement Tools

Performer Terrain Utilities
Silicon Graphics PTU Format

Performer. See IRIS Performer
Using IRIS Performer From C++

pf.h header file
Using IRIS Performer Header Files

pfBillboard
pfBillboard Nodes

pfBillboard nodes
Graphics and Modeling Techniques to Improve Performances

pfBox
Axially Aligned Boxes

pfChannel data structures. See channels
Using Channels

pfCylinder
Cylinders

pfDataPool data structures
Datapools
multiprocessing with
pfDataPools

pfdBuilder
Silicon Graphics GFO Format
The libpfdu Geometry Builder Library

pfDCS nodes
Cull and Intersection Optimizations

pfDispList data structures
Display Lists

pfFog data structures
Fog
Atmospheric Effects
See also fog
Fog

pfFont
pfFont

pfFrameStats data structures
Statistics
See also pfStats data structures
Statistics

pfGeode
pfGeode Nodes

pfGeoSet
Geometry Sets
and bounding volumes
Creating and Transforming Volumes
compilation
pfGeoSet Draw Mode
connectivity
Primitive Connectivity
draw modes
pfGeoSet Draw Mode
intersection mask
Intersection Masks
intersections with segments
Intersecting With pfGeoSets
primitive types
Primitive Types

pfGeoSet data structures
adding to pfGeode nodes
pfDelete() and Reference Counting
pfGeode Nodes

pfGeoState data structures
applying
Applying pfGeoStates
attaching to pfGeoSets
pfGeoSets and pfGeoStates
overview
pfGeoState

pfHit
Intersecting With pfGeoSets

pfLayer
pfLayer Nodes

pfLightPoint
pfLightPoint Nodes

pfLightPoint nodes
pfLightPoint

pfLightSource
pfLightSource Nodes

pfLOD nodes
pfLOD Nodes

pfMatrix
Matrix Operations

pfMatStack
Matrix Stack Operations

pfMorph
Database Traversal
Morphing

PFNFYLEVEL environment variable
Error-Handling and Notification

pfNode
pfNode Attributes
and bounding volumes
Creating and Transforming Volumes

pfNode data structures
Nodes
attributes
pfNode Attributes
operations
pfNode Operations

pfObject data structures
pfObjects and the Class Hierarchy
actual type of
Determining Object Type

pfPartition
pfPartition Nodes

pfPath data structures
Paths Through the Scene Graph

PFPATH environment variable
Setting the Search Path for Database Files
File Search Paths
File Search Paths

pfPipe
configuration
Creating and Configuring a pfPipe
data structures. See pipelines
Using Pipes

pfPlane
Half-spaces (Planes)

pfScene nodes
Setting Up a Scene

pfSCS
pfSCS Nodes

pfSCS nodes
Cull and Intersection Optimizations

pfSeg
Creating and Working With Line Segments
and bounding volumes
Creating and Transforming Volumes

pfSegSet
data structure, definition
Intersection Requests: pfSegSets
intersection with
Intersecting With pfGeoSets

pfSequence
pfSequence Nodes

pfSphere
Spheres

pfState data structures
State Management

pfString
pfString

pfSwitch
pfSwitch Nodes

pfTexEnv data structures. See texturing
Texture

pfTexture data structures. See texturing
Texture

pfVec2
Vector Operations

pfVec3
Vector Operations

pfVec4
Vector Operations

pfWindow functions
The pfWindow Windowing Functions

phase
Frame Rate and Synchronization
defined
Glossary

PHD format. See formats
Silicon Graphics PHD Format

PHIGS
AAI/Graphicon IRTP Format

Phong shading
Sophisticated Shading

physics of flight
Mathematics of Flight Simulation

physiognomy, clownish
Generalized Morphing

pipe windows
Creating, Configuring and Opening pfPipeWindow

pipe, definition
Glossary

pipelines
functional stages
The Functional Stages of a Pipeline
multiple
Multiple Pipelines
Video Refresh Counter (VClock)
multiprocessing
Process Callbacks
overview
Using Pipes
setting up
Setting Up a Pipe

pitch
Setting Up a Viewpoint
defined
Glossary

pixie
Using pixie and prof to Measure Performance
Performance Measurement Tools
Performance Measurement Tools
Using pixie and prof to Measure Performance
Using pixie and prof to Measure Performance

plant walkthroughs
Why Use IRIS Performer?

point lights. See light points
Special Features (pfEarthSky, pfSequence, pfLightPoint)

point-volume intersection tests
Point-Volume Intersection Tests

POLY format. See formats
Side Effects POLY Format

Polya, George
Geometric Reasoning

poor programming practices
array allocation of pfObjects
Creating and Deleting IRIS Performer Objects

popping
definition
Glossary
in LOD transitions
Level-of-Detail Transition Blending

porting graphics library calls
Porting From IRIS GL to OpenGL

positive rotation
Setting Up a Viewpoint

pr.h header file
Using IRIS Performer Header Files

Pravata, Todd R.
SIMNET S1000 Format

precision clocks
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)

previous statistics
The pfStats Data Structure
See also statistics
The pfStats Data Structure

primitives
attributes
Attributes
connectivity
Primitive Connectivity
flat-shaded
pfGeoSet Draw Mode
types
Primitive Types

printing
Visual Database (pfScene)

process callbacks
Process Callbacks
defined
Glossary

process priority
Process Pipeline Tuning Tips

processor isolation
Process Pipeline Tuning Tips

prof
Performance Measurement Tools
Using pixie and prof to Measure Performance
Performance Measurement Tools
Using pixie and prof to Measure Performance
Using pixie and prof to Measure Performance

profiling
glprof
Using glprof to Find Performance Bottlenecks
prof
Using pixie and prof to Measure Performance

program counter sampling
Using pixie and prof to Measure Performance

projective texture
Spotlights and Shadows
Projective Texture
defined
Glossary

prune, definition
Glossary

pruning nodes
Traversal Order

PTU format. See formats
Silicon Graphics PTU Format

public structs
Class Taxonomy

punch through, definition
Glossary

quaternion
Quaternion Operations
references
Computer Graphics
spherical linear interpolation
Quaternion Operations
use in C++ API
Public Structs

radiosity
Image Gallery

rapid rendering, for on-air broadcast
Why Use IRIS Performer?

REACT
Process Pipeline Tuning Tips
Performance Measurement Tools

read()
Asynchronous I/O

real-time programming
Process Pipeline Tuning Tips

RealityEngine
Antialiasing

RealityEngine graphics
Why Use IRIS Performer?
pipelines, multiple
Multiple Pipelines
tuning
Notes on Tuning for RealityEngine Graphics

reference count, definition
Glossary

reference counting
pfDelete() and Reference Counting

references, circular. See circular references
Multiprocessing Framework

reflections
Environment Mapping

refresh rate
Fixing the Frame Rate

release notes
Installing the Software

rendering
modes
Rendering Modes
multiple channels
Using Multiple Channels
stages of
Review of Rendering Stages

rendering pipelines
definition
Glossary
See pipelines
Using Pipes

rendering values
Rendering Values

reserved functions
Overview

right hand rule
Setting Up a Viewpoint

right-hand rule, defined
Glossary

Rogers, David F.
USNA Standard Graphics Format

Rohlf, John
Computer Graphics

Rolfe, J. M.
Visual Simulation

roll
Setting Up a Viewpoint
defined
Glossary

rotating geometry to track eyepoint
pfBillboard Nodes
Graphics and Modeling Techniques to Improve Performances

rotations
quaternion
Quaternion Operations

Rougelot, Rodney S.
Visual Simulation

routines
pfAccumulateStats()
Statistics Tokens
pfAddChan()
Multiple Channels and Multiple Windows
pfAddChild()
Creation of a Performer Database Converter using libpfdu
pfGroup
pfGroup
pfBuffer
pfAddGSet()
pfText Nodes
pfDelete() and Reference Counting
pfGeode Nodes
pfDelete() and Reference Counting
pfAddMat()
Matrix Operations
pfAddScaledVec3()
Vector Operations
pfAddVec3()
Vector Operations
pfAllocChanData()
Passthrough Data
Process Callbacks and Passthrough Data
Process Pipeline Tuning Tips
pfAllocIsectData()
Passthrough Data
pfAlmostEqualMat()
Matrix Operations
pfAlmostEqualVec3()
Vector Operations
pfAlphaFunc()
Graphics State
Graphics and Modeling Techniques to Improve Performances
Graphics and Modeling Techniques to Improve Performances
Alpha Function
pfAlphaFunction()
Transparency
pfAntialias()
Antialiasing
Fill Bottlenecks
Creating, Configuring and Opening pfPipeWindow
Overview
Draw Stage and Graphics Pipeline Optimizations
pfApp()
Rules for Invoking Functions While Multiprocessing
pfAppFrame()
Application Traversal
Application Traversal
Application Traversal
pfApplyCtab()
Color Tables
Rendering Attributes
pfApplyFog()
Rendering Attributes
pfApplyGState()
Applying pfGeoStates
pfGeoState Routines
pfGeoSets and pfGeoStates
Graphics State
Local and Global State
pfApplyGStateTable()
pfGeoState Routines
pfApplyHlight()
Highlights
Rendering Attributes
pfApplyLModel()
Rendering Attributes
pfApplyLPState()
Rendering Attributes
pfApplyMtl()
Rules for Invoking Functions While Multiprocessing
Rendering Attributes
Rendering Attributes
pfApplyTEnv()
Texture
Rendering Attributes
pfApplyTex()
Local and Global State
Rules for Invoking Functions While Multiprocessing
Texture
Texture
Graphics State
Rendering Attributes
Texture
Draw Process Tips
pfApplyTGen()
Rendering Attributes
Automatic Texture Coordinate Generation
pfAsynchDelete()
pfAsyncDelete
pfAttachChan()
Using Channel Groups
pfAttachDPool()
Datapools
pfAttachPWin()
Creating, Configuring and Opening pfPipeWindow
pfAttachWin()
Manipulating a pfWindow
pfAverageStats()
Statistics Tokens
pfBboardAxis()
pfBillboard Nodes
pfBboardMode()
pfBillboard Nodes
pfBboardPos()
pfBillboard Nodes
pfBeginSprite()
Sprite Transformations
Sprite Transformations
pfBoxAroundBoxes()
Creating Bounding Volumes
pfBoxAroundPts()
Creating Bounding Volumes
pfBoxAroundSpheres()
Creating Bounding Volumes
pfBoxContainsBox()
Volume-Volume Intersection Tests
pfBoxContainsPt()
Point-Volume Intersection Tests
pfBoxExtendByBox()
Creating Bounding Volumes
pfBoxExtendByPt()
Creating Bounding Volumes
pfBoxIsectSeg()
Intersecting With Volumes
pfBufferAddChild()
pfBuffer
Glossary
pfBufferClone()
pfBuffer
pfBuffer
pfBuffer
Glossary
pfBufferRemoveChild()
pfBuffer
Glossary
pfBuildPart()
pfPartition Nodes
pfPartition Nodes
pfCBufferChanged()
CycleBuffers
pfCBufferConfig()
CycleBuffers
CycleBuffers
pfCBufferFrame()
CycleBuffers
CycleBuffers
pfChanBinOrder()
Sorting the Scene
Glossary
pfChanBinSort()
Sorting the Scene
Glossary
pfChanESky()
Using pfEarthSky
Atmospheric Effects
Atmospheric Effects
Setting Up a Scene
pfChanFOV()
Field–of–View
pfChanGState()
Draw Stage and Graphics Pipeline Optimizations
The libpfdu Geometry Builder Library
pfChanLODAttr()
Fixing the Frame Rate
pfChanLODLODStateIndex()
Level of Detail States
pfChanLODStateList()
Level of Detail States
pfChanNearFar()
Clipping Planes
pfChanNodeIsectSegs()
Testing Line Segment Intersections
pfChanPick()
Picking
pfChanScene()
pfScene Nodes
Setting Up a Scene
Setting Up a Scene
pfChanShare()
Application Traversal
Using Channel Groups
Using Channel Groups
Creating, Configuring and Opening pfPipeWindow
pfChanStatsMode()
Displaying Statistics Simply
pfChanStress()
Fixing the Frame Rate
pfChanStressFilter()
Dynamic Load Management
Fixing the Frame Rate
pfChanTravFunc()
Paths Through the Scene Graph
Process Callbacks and Passthrough Data
Passthrough Data
pfChanTravFuncs()
Using pfEarthSky
pfChanTravMask()
pfNode Draw Mask
pfChanTravMode()
libpf Databases
pfChannel Traversal Modes
Cull and Intersection Optimizations
Visibility Testing
pfChannel Traversal Modes
pfChannel Traversal Modes
Visibility Testing
pfChanView()
Setting Up a Viewpoint
Setting Up a Viewpoint
pfChanViewMat()
Setting Up a Viewpoint
Setting Up a Viewpoint
pfChanViewOffsets()
Using Channel Groups
pfChanViewport()
Setting Up a Channel
pfChooseFBConfig()
Configuring the framebuffer of a pfWindow
pfChoosePWinFBConfig()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfChooseWinFBConfig()
Configuring the framebuffer of a pfWindow
Configuring the framebuffer of a pfWindow
pfClear()
Rules for Invoking Functions While Multiprocessing
pfClearChan()
Process Callbacks and Passthrough Data
Fill Bottlenecks
Using pfEarthSky
Stage Timing Graph
pfClearStats()
Statistics Tokens
pfClipSeg()
Intersecting With Volumes
Creating and Working With Line Segments
pfClockMode()
High-Resolution Clock
pfClockName()
High-Resolution Clock
pfClone()
pfBuffer
pfCloseDList()
Display Lists
pfCloseFile()
Asynchronous I/O
pfClosePWin()
pfPipeWindows in Action
Creating, Configuring and Opening pfPipeWindow
pfClosePWinGL()
Creating, Configuring and Opening pfPipeWindow
pfCloseWin()
Manipulating a pfWindow
pfCloseWinGL()
Manipulating a pfWindow
pfCombineVec3()
Vector Operations
pfConfig()
Static Member Data
Order of Calls
CycleBuffers
Initializing Shared Memory
Order of Calls
DBASE Process
Creating and Configuring a pfPipe
Initializing Processes
Overview
Order of Calls
Shared Memory
Order of Calls
pfConfigPWin()
Draw Process Tips
Creating, Configuring and Opening pfPipeWindow
pfPipeWindows in Action
pfPipeWindows in Action
pfConfigStage()
Draw Process Tips
Creating and Configuring a pfPipe
pfConjQuat()
Quaternion Operations
pfCopy()
User Data
Copying
Copying Objects with pfCopy()
pfGeoSet Operations
Allocating Memory With pfMalloc()
pfCopyFStats()
Statistics Class Structures
Copying
pfCopyGSet()
Geometry Sets
pfCopyGState()
pfGeoState Routines
pfCopyMat()
Matrix Operations
pfCopyStats()
Statistics Tokens
Copying
Statistics Class Structures
pfCopyVec3()
Vector Operations
pfCreateDPool()
Datapools
Datapools
pfCreateFile()
Asynchronous I/O
pfCrossVec3()
Vector Operations
pfCull()
Process Callbacks and Passthrough Data
Stage Timing Graph
Forcing Display-List Generation
Rules for Invoking Functions While Multiprocessing
pfCullFace()
Draw Stage and Graphics Pipeline Optimizations
Frontface / Backface
pfCullPath()
Paths Through the Scene Graph
Paths Through the Scene Graph
pfCullResult()
pfNode Cull and Draw Callbacks
pfCurCBufferIndex()
CycleBuffers
pfCylAroundSegs()
Efficient Intersection and Traversals
Creating Bounding Volumes
pfCylContainsPt()
Point-Volume Intersection Tests
pfdAddExtAlias()
Database Loading Details
pfDBase()
pfAsyncDelete
Rules for Invoking Functions While Multiprocessing
pfDBaseFunc()
Application Optimizations
DBASE Process
pfdBldrStateAttr()
Creation of a Performer Database Converter using libpfdu
pfdBldrStateMode()
Creation of a Performer Database Converter using libpfdu
pfdBldrStateVal()
Creation of a Performer Database Converter using libpfdu
pfdCleanTree()
Creation of a Performer Database Converter using libpfdu
libpf Databases
Balancing Cull and Draw Processing with Database Hierarchy
Cull and Intersection Optimizations
pfdConverterAttr()
Database Loading Details
pfdConverterMode()
Database Loading Details
pfdConverterVal()
Database Loading Details
pfdConvertFrom()
pfdLoadFile - Loading Arbitrary Databases into Performer
pfdConvertTo()
pfdLoadFile - Loading Arbitrary Databases into Performer
pfDCSCoord()
pfDCS Nodes
pfDCSMat()
pfDCS Nodes
pfDCSRot()
pfDCS Nodes
pfDCSScale()
pfDCS Nodes
pfDCSTrans()
pfDCS Nodes
pfdDefaultGState()
Draw Stage and Graphics Pipeline Optimizations
pfDecal()
Decals
Fill Bottlenecks
Draw Stage and Graphics Pipeline Optimizations
Glossary
Local and Global State
pfDelete()
pfFont
Allocating Memory With pfMalloc()
pfGeoState Routines
pfDelete() and Reference Counting
pfGeoSet Operations
Datapools
Allocating Memory With pfMalloc()
Geometry Sets
pfDelete() and Reference Counting
pfAsyncDelete
User Data
datapools
Datapools
pfDetachChan()
Using Channel Groups
pfdExitConverter()
Database Loading Details
pfdFreezeTransforms()
libpf Databases
Balancing Cull and Draw Processing with Database Hierarchy
Cull and Intersection Optimizations
pfdGetConverterAttr()
Database Loading Details
pfdGetConverterMode()
Database Loading Details
pfdGetConverterVal()
Database Loading Details
pfdInitConverter()
Database Loading Details
Initializing Shared Memory
pfDisable()
Rules for Invoking Functions While Multiprocessing
Enable / Disable
pfDistancePt3()
Vector Operations
pfDivQuat()
Quaternion Operations
pfdLoadBldrState()
Creation of a Performer Database Converter using libpfdu
pfdLoadFile()
The libpfdb Loader Library
Overview
pfdLoadFile - Loading Arbitrary Databases into Performer
pfdLoadFile - Loading Arbitrary Databases into Performer
Creation of a Performer Database Converter using libpfdu
File Search Paths
Finding and initializing a Converter
What Is IRIS Performer?
pfdLoadFile - Loading Arbitrary Databases into Performer
pfdMakeSceneGState()
Draw Stage and Graphics Pipeline Optimizations
pfScene Default Rendering State
pfdMakeSharedScene()
pfScene Default Rendering State
Draw Stage and Graphics Pipeline Optimizations
libpf Databases
pfdOptimizeGStateList()
pfScene Default Rendering State
Draw Stage and Graphics Pipeline Optimizations
pfDotVec3()
Vector Operations
pfDPoolAlloc()
Datapools
pfDPoolAttachAddr()
Datapools
pfDPoolFind()
Datapools
Datapools
pfDPoolLock()
Datapools
Datapools
pfDPoolUnlock()
Datapools
Datapools
pfdPopBldrState()
Creation of a Performer Database Converter using libpfdu
pfdPushBldrState()
Creation of a Performer Database Converter using libpfdu
pfDraw()
Stage Timing Graph
Balancing Cull and Draw Processing with Database Hierarchy
Process Callbacks and Passthrough Data
Spotlights and Shadows
Rules for Invoking Functions While Multiprocessing
Draw Process Tips
Forcing Display-List Generation
Stage Timing Graph
Fill Bottlenecks
Stage Timing Graph
pfDrawChanStats()
Application Optimizations
Performance Measurement Tools
Performance Measurement Tools
Statistics
Use the Simplest Process Model
Balancing Cull and Draw Processing with Database Hierarchy
Balancing Cull and Draw Processing with Database Hierarchy
Statistics
Statistics Class Structures
Displaying Statistics Simply
pfDrawDList()
Local and Global State
pfGeoSet Operations
Display Lists
pfDrawFStats()
Statistics Class Structures
Displaying Statistics Simply
Statistics
Statistics Class Structures
Statistics
pfDrawGSet()
pfGeoSet Draw Mode
pfGeoSet Draw Mode
Rules for Invoking Functions While Multiprocessing
pfGeoSet Operations
pfGeoSet Operations
Geometry Sets
Local and Global State
pfGeoSets and pfGeoStates
pfDrawString()
Rules for Invoking Functions While Multiprocessing
pfString
pfString
pfdSaveBldrState()
Creation of a Performer Database Converter using libpfdu
pfdStoreFIle()
pfdLoadFile - Loading Arbitrary Databases into Performer
pfEarthSky()
Process Callbacks and Passthrough Data
pfEnable()
Rules for Invoking Functions While Multiprocessing
Enable / Disable
Local and Global State
pfEnableStatsHw()
Statistics in libpr and libpf—pfStats Versus pfFrameStats
Collecting and Accessing Statistics in Your Application
Statistics Buffers
pfEndSprite()
Sprite Transformations
Sprite Transformations
pfEqualMat()
Matrix Operations
pfEqualVec3()
Vector Operations
pfESkyAttr()
Atmospheric Effects
pfESkyColor()
Atmospheric Effects
pfESkyFog()
Atmospheric Effects
pfESkyMode()
Atmospheric Effects
Multisampling
pfExpQuat()
Quaternion Operations
pfFeature()
Graphics and Modeling Techniques to Improve Performances
Fill Bottlenecks
pfFilePath()
File Search Paths
File Search Paths
File Search Paths
Setting the Search Path for Database Files
pfFindFile()
File Search Paths
pfFlatten()
pfSCS Nodes
Creation of a Performer Database Converter using libpfdu
pfBuffer
Cull and Intersection Optimizations
Cull and Intersection Optimizations
Transform Bottlenecks
libpf Databases
Balancing Cull and Draw Processing with Database Hierarchy
pfFlattenString()
pfString
pfFlushState()
Applying pfGeoStates
pfFogRange()
Fog
pfFogType()
Fog
pfFontAttr()
pfFont
pfFontCharGSet()
pfFont
pfFontCharSpacing()
pfFont
pfFontMode()
pfFont
pfFrame()
Passthrough Data
Process Callbacks and Passthrough Data
Multiple Pipelines
CycleBuffers
Application Traversal
Process Callbacks and Passthrough Data
Stage Timing Graph
Intersection Pipeline
Simulation Loop
Creating, Configuring and Opening pfPipeWindow
Process Callbacks
Stage Timing Graph
Application Optimizations
Cull Traversal
Creating, Configuring and Opening pfPipeWindow
DBASE Process
Fixing the Frame Rate
Overview
pfFrameRate()
Status Line
Selecting the Frame Rate
Fixing the Frame Rate
Status Line
pfFree()
Memory Allocation
Allocating Memory With pfMalloc()
Allocating Memory With pfMalloc()
Allocating Memory With pfMalloc()
pfFrustContainsBox()
Volume-Volume Intersection Tests
pfFrustContainsCyl()
Volume-Volume Intersection Tests
pfFrustContainsPt()
Point-Volume Intersection Tests
pfFrustContainsSphere()
Volume-Volume Intersection Tests
pfFSatsClass()
Statistics Rules of Use
pfFStatsAttr()
Setting Update Rate
pfFStatsClass()
Enabling Only Statistics of Interest
Fill Statistics
pfFStatsCountNode()
Statistics Buffers
Statistics Class Structures
pfFullXformPt3()
Vector Operations
pfGetArena()
Allocating Memory With pfMalloc()
pfGetBboardAxis()
pfBillboard Nodes
pfGetBboardMode()
pfBillboard Nodes
pfGetBboardPos()
pfBillboard Nodes
pfGetChanFStats()
Statistics Rules of Use
Statistics
pfGetChanLoad()
Fixing the Frame Rate
pfGetChanView()
Setting Up a Viewpoint
pfGetChanViewMat()
Setting Up a Viewpoint
pfGetChanViewOffsets
Setting Up a Viewpoint
pfGetCullResult()
pfNode Cull and Draw Callbacks
pfGetCurGState()
pfGeoState Routines
pfGetCurWSConnection()
Communicating with the Window System
pfWindows and GL Windows
pfGetDCSMat()
pfDCS Nodes
pfGetFilePath()
File Search Paths
pfGetFileStatus()
Asynchronous I/O
pfGetGSet()
pfGeode Nodes
pfText Nodes
pfGetLayerBase()
pfLayer Nodes
pfGetLayerDecal()
pfLayer Nodes
pfGetLayerMode()
pfLayer Nodes
pfGetLightAmbient()
pfLightSource Nodes
pfGetLightColor()
pfLightSource Nodes
pfGetLightPos()
pfLightSource Nodes
pfGetLODCenter()
pfLOD Nodes
pfGetLODRange()
pfLOD Nodes
pfGetLPointColor()
pfLightPoint Nodes
pfGetLPointPos()
pfLightPoint Nodes
pfGetLPointRot()
pfLightPoint Nodes
pfGetLPointShape()
pfLightPoint Nodes
pfGetLPointSize()
pfLightPoint Nodes
pfGetMatCol()
Matrix Operations
pfGetMatColVec3()
Matrix Operations
pfGetMatRow()
Matrix Operations
pfGetMatRowVec3()
Matrix Operations
pfGetMStack()
Matrix Stack Operations
pfGetMStackDepth()
Matrix Stack Operations
Matrix Stack Operations
pfGetMStackTop()
Matrix Stack Operations
pfGetNumChildren()
pfGroup
pfGroup
pfGetNumGSets()
pfGeode Nodes
pfText Nodes
pfGetOrthoMatCoord()
Matrix Operations
pfGetOrthoMatQuat()
Matrix Operations
pfGetParent()
Paths Through the Scene Graph
pfGetParentCullResult()
pfNode Cull and Draw Callbacks
pfGetPartAttr()
pfPartition Nodes
pfPartition Nodes
pfGetPartType()
pfPartition Nodes
pfGetPipe()
Creating and Configuring a pfPipe
pfGetPipeScreen()
Creating and Configuring a pfPipe
pfGetPipeSize()
Creating and Configuring a pfPipe
pfGetPWinCurOriginSize()
Creating, Configuring and Opening pfPipeWindow
pfGetPWinCurScreenOriginSize()
Creating, Configuring and Opening pfPipeWindow
pfGetQuatRot()
Quaternion Operations
pfGetRef()
pfDelete() and Reference Counting
pfGetSCSMat()
pfSCS Nodes
pfGetSemaArena()
Memory Allocation
Shared Memory and pfInit()
Allocating Locks and Semaphores
State Management
pfGetSeqDuration()
pfSequence Nodes
pfGetSeqFrame()
pfSequence Nodes
pfGetSeqInterval()
pfSequence Nodes
pfGetSeqMode()
pfSequence Nodes
pfGetSeqTime()
pfSequence Nodes
pfGetSharedArena()
Memory Allocation
Shared Memory and pfInit()
Allocating Memory With pfMalloc()
Attributes
pfGetSize()
Allocating Memory With pfMalloc()
Allocating Memory With pfMalloc()
pfGetSpotLightCone()
pfLightSource Nodes
pfGetSpotLightDir()
pfLightSource Nodes
pfGetSwitchVal()
pfSwitch Nodes
pfGetTime()
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)
High-Resolution Clock
pfGetType()
Determining Object Type
pfGetTypeName()
Determining Object Type
pfGetVClock()
Video Refresh Counter (VClock)
pfGetWinCurOriginSize()
Windows
pfGetWinCurScreenOriginSize()
Windows
pfGetWinFBConfig()
pfWindows and GL Windows
pfGetWinFBConfigData()
Configuring the framebuffer of a pfWindow
pfGetWinGLCxt()
pfWindows and GL Windows
pfGetWinOrigin()
Windows
pfGetWinSize()
Windows
pfGetWinWSDrawable()
pfWindows and GL Windows
pfGetWinWSWindow()
pfWindows and GL Windows
pfGSetAttr()
Geometry Sets
Attributes
Allocating Memory With pfMalloc()
pfDelete() and Reference Counting
pfGSetBBox()
Geometry Sets
pfGSetDrawMode()
Geometry Sets
pfGeoSet Draw Mode
pfGeoSet Draw Mode
pfGeoSet Draw Mode
pfGeoSet Operations
pfGSetGState()
pfGeoSets and pfGeoStates
pfDelete() and Reference Counting
Geometry Sets
pfGSetGStateIndex()
Geometry Sets
pfGSetHlight()
Geometry Sets
Highlights
pfDelete() and Reference Counting
pfGSetIsectMask()
Geometry Sets
Enabling Caching
Intersection Masks
pfGSetIsectSegs()
Intersection Masks
Discriminator Callbacks
Intersecting With pfGeoSets
Intersecting With pfGeoSets
Geometry Sets
pfGeoSet Operations
Intersecting With pfGeoSets
pfGSetLineWidth()
Geometry Sets
pfGSetNumPrims()
Primitive Types
Primitive Types
Primitive Types
Geometry Sets
pfGSetPntSize()
Geometry Sets
pfGSetPrimLengths()
Primitive Types
Geometry Sets
Primitive Types
pfGSetPrimType()
Geometry Sets
pfGStateAttr()
pfDelete() and Reference Counting
pfGeoState Routines
Local and Global State
pfGStateFuncs()
pfGeoState Routines
pfGStateInherit()
pfGeoState Routines
Local and Global State
pfGStateMode()
Local and Global State
Rendering Modes
pfGeoState Routines
pfGStateVal()
Rendering Values
pfGeoState Routines
pfHalfSpaceContainsBox()
Volume-Volume Intersection Tests
pfHalfSpaceContainsCyl()
Volume-Volume Intersection Tests
pfHalfSpaceContainsPt()
Point-Volume Intersection Tests
pfHalfSpaceContainsSphere()
Volume-Volume Intersection Tests
pfHalfSpaceIsectSeg()
Intersecting With Volumes
pfHlightColor()
Highlights
pfHlightLineWidth()
Highlights
pfHlightMode()
Highlights
pfHlightNormalLength()
Highlights
pfHlightPntSize()
Highlights
pfHyperpipe()
Rules for Invoking Functions While Multiprocessing
pfIdleTex()
Texture
pfIndex()
Stage Timing Graph
pfInit()
Overview
Initializing Shared Memory
Glossary
Initializing Shared Memory
Order of Calls
Shared Arenas
Shared Memory and pfInit()
Initializing Shared Memory
Shared Memory and pfInit()
pfInitArenas()
Memory Allocation
Initializing Shared Memory
Allocating Memory With pfMalloc()
Glossary
Shared Arenas
Shared Arenas
Allocating Locks and Semaphores
Shared Arenas
pfInitCBuffer()
CycleBuffers
pfInitClock()
High-Resolution Clock
pfInitGfx()
pfWindows and GL Windows
pfWindows and GL Windows
Creating, Configuring and Opening pfPipeWindow
pfInitState()
State Management
State Management
pfInitVClock()
Video Refresh Counter (VClock)
pfInsertChan()
Multiple Channels and Multiple Windows
One Window per Pipe, Multiple channels per Window
Multiple Channels and Multiple Windows
pfInsertChild()
pfGroup
pfGroup
pfInsertGSet()
pfGeode Nodes
pfDelete() and Reference Counting
pfText Nodes
pfDelete() and Reference Counting
pfInvertAffMat()
Matrix Operations
pfInvertFullMat()
Matrix Operations
pfInvertIdentMat()
Matrix Operations
pfInvertOrthoMat()
Matrix Operations
pfInvertOrthoNMat()
Matrix Operations
pfInvertQuat()
Quaternion Operations
pfIsectFunc()
Intersection Pipeline
Passthrough Data
Application Optimizations
pfIsLightOn()
pfLightSource Nodes
pfIsOfType()
Determining Object Type
pfIsTexLoaded()
Texture
pfLayer()
Glossary
pfLayerBase()
pfLayer Nodes
pfLayerDecal()
pfLayer Nodes
pfLayerMode()
pfLayer Nodes
pfLengthQuat()
Quaternion Operations
pfLengthVec3()
Vector Operations
pfLightAmbient()
pfLightSource Nodes
pfLightAtten()
Lighting
pfLightColor()
pfLightSource Nodes
pfLightOff()
pfLightSource Nodes
pfLightOn()
Lighting
Lighting
Rendering Attributes
Rules for Invoking Functions While Multiprocessing
pfLightSource Nodes
pfLightPos()
pfLightSource Nodes
pfLModelAtten()
Lighting
pfLoadMatrix()
Graphics Library Matrix Routines
pfLoadMStack()
Matrix Stack Operations
pfLoadState()
State Management
pfLoadTex()
Texture
Texture
pfLoadTexFile()
Texture
pfLODCenter()
pfLOD Nodes
pfLODLODState()
Level of Detail States
pfLODLODStateIndex()
Level of Detail States
pfLODRange()
pfLOD Nodes
pfLODTransition()
Level-of-Detail Transition Blending
pfLogQuat()
Quaternion Operations
pfLPointColor()
pfLightPoint Nodes
pfLightPoint
pfLPointPos()
pfLightPoint Nodes
pfLightPoint
pfLPointRot()
pfLightPoint
pfLightPoint
pfLightPoint Nodes
pfLPointShape()
pfLightPoint
pfLightPoint
pfLightPoint Nodes
pfLPointSize()
pfLightPoint
pfLightPoint Nodes
pfLSourceAttr()
Spotlights and Shadows
Spotlights and Shadows
pfLSourceColor()
Spotlights and Shadows
pfLSourceVal()
Spotlights and Shadows
pfMakeCoordMat()
Matrix Operations
pfMakeEulerMat()
Matrix Operations
pfMakeOrthoFrust()
Frusta
pfMakePerspFrust()
Frusta
pfMakePolarSeg()
Creating and Working With Line Segments
pfMakePtsSeg()
Creating and Working With Line Segments
pfMakeQuatMat()
Matrix Operations
pfMakeRotMat()
Matrix Operations
pfMakeRotOntoMat()
Matrix Operations
pfMakeRotQuat()
Quaternion Operations
pfMakeScaleMat()
Matrix Operations
pfMakeTransMat()
Matrix Operations
pfMalloc()
libpr Databases
Allocating Memory With pfMalloc()
Attributes
pfDelete() and Reference Counting
Datapools
Memory Allocation
Allocating Memory With pfMalloc()
Shared Arenas
Allocating Memory With pfMalloc()
Shared Memory and pfInit()
pfMergeBuffer()
pfBuffer
pfBuffer
Glossary
pfModelMat()
Sprite Transformations
pfMorphAttr()
Morphing
pfMoveChan()
Multiple Channels and Multiple Windows
Multiple Channels and Multiple Windows
Multiple Channels and Multiple Windows
One Window per Pipe, Multiple channels per Window
pfMovePWin()
pfPipeWindows in Action
pfMQueryFStats()
Statistics Tokens
Querying
pfMQueryHit()
Intersection Return Data: pfHit Objects
Intersection Return Data: pfHit Objects
Intersecting With pfGeoSets
pfMQueryStats()
Querying
Statistics Tokens
Querying
pfMtlColorMode()
Materials
Other Tips
Transform Bottlenecks
Draw Stage and Graphics Pipeline Optimizations
pfMultipipe()
Order of Calls
Multiple Pipelines
Multiple Pipelines
pfMultiprocess()
Initializing Shared Memory
Intersection Pipeline
Creating and Configuring a pfPipe
Overview
Order of Calls
Status Line
Use the Simplest Process Model
Order of Calls
Choosing a Multiprocessing Model
Choosing a Multiprocessing Model
DBASE Process
Application Optimizations
pfMultithread()
Order of Calls
Multithreading
pfMultMat()
Matrix Operations
pfMultMatrix()
Graphics Library Matrix Routines
Rules for Invoking Functions While Multiprocessing
pfMultQuat()
Quaternion Operations
pfNegateVec3()
Vector Operations
Vector Operations
pfNewBboard()
pfBillboard Nodes
pfNewBuffer()
Glossary
pfBuffer
pfNewCBuffer()
CycleBuffers
pfNewChan()
Creating and Configuring a pfChannel
pfNewCtab()
Color Tables
pfNewDCS()
pfDCS Nodes
pfNewDList()
Display Lists
pfNewDPool()
Datapools
pfNewESky()
Atmospheric Effects
pfNewFog()
Fog
pfNewFont()
pfFont
pfNewFrust()
Frusta
pfNewGeode()
pfGeode Nodes
pfText Nodes
pfNewGSet()
Geometry Sets
pfNewGState()
pfGeoState Routines
pfNewHlight()
Highlights
pfNewLayer()
pfLayer Nodes
pfNewLight()
Lighting
Lighting
pfNewLModel()
Lighting
Lighting
pfNewLOD()
pfLOD Nodes
pfNewLPoint()
pfLightPoint Nodes
pfLightPoint
pfNewLSource()
pfLightSource Nodes
pfNewMaterial()
Materials
pfNewMStack()
Matrix Stack Operations
pfNewMtl()
Materials
pfNewPart()
pfPartition Nodes
pfNewPath()
Paths Through the Scene Graph
pfNewPWin()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfNewScene()
pfScene Nodes
pfNewSCS()
pfSCS Nodes
pfNewSeq()
pfSequence Nodes
pfNewState()
State Management
pfWindows and GL Windows
pfNewString()
pfString
pfNewSwitch()
pfSwitch Nodes
pfNewTex()
Texture
pfNewWin()
Windows
pfNodeBSphere()
Bounding Volumes
pfNodeIsectSegs()
Picking
Intersection Requests: pfSegSets
Intersecting With pfGeoSets
Intersection Pipeline
Efficient Intersection and Traversals
Intersection Masks
Testing Line Segment Intersections
pfNodeTravData()
Subclassing pfObjects
pfNodeTravFuncs()
libpf Objects and Multiprocessing
pfNode Cull and Draw Callbacks
Subclassing pfObjects
Defining Virtual Functions
pfNodeTravMask()
pfNode Draw Mask
Enabling Caching
Setting the Intersection Mask
Efficient Intersection and Traversals
pfNormalizeVec3()
Vector Operations
pfNotify()
Error-Handling and Notification
Allocating Memory With pfMalloc()
pfNotifyHandler()
Error-Handling and Notification
Error-Handling and Notification
Allocating Memory With pfMalloc()
pfNotifyLevel()
Error-Handling and Notification
Process Pipeline Tuning Tips
Avoid Floating-Point Exceptions
pfOpenDList()
Display Lists
pfOpenFile()
Asynchronous I/O
Asynchronous I/O
pfOpenPWin()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPipeWindows in Action
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfOpenScreen()
Communicating with the Window System
Windows
pfOpenStats()
Statistics Buffers
pfOpenWin()
pfWindows and GL Windows
pfWindows and GL Windows
Configuring the framebuffer of a pfWindow
Manipulating a pfWindow
Manipulating a pfWindow
Windows
pfWindows and GL Windows
Manipulating a pfWindow
Manipulating a pfWindow
pfOpenWSConnection()
Communicating with the Window System
pfOrthoXformCyl()
Transforming Bounding Volumes
pfOrthoXformFrust()
Transforming Bounding Volumes
pfOrthoXformPlane()
Transforming Bounding Volumes
pfOrthoXformSphere()
Transforming Bounding Volumes
pfOverride()
Rendering Attributes
State Override
Fill Bottlenecks
Rendering Modes
pfPartAttr()
pfPartition Nodes
pfPartition Nodes
pfPassChanData()
Passthrough Data
Process Callbacks and Passthrough Data
Process Pipeline Tuning Tips
Application Optimizations
pfPassIsectData()
Passthrough Data
pfPhase()
Frame Synchronization
Fixing the Frame Rate
pfPipeScreen()
Creating and Configuring a pfPipe
pfPlaneIsectSeg()
Intersecting With Planes and Triangles
pfPopMatrix()
pfNode Cull and Draw Callbacks
Graphics Library Matrix Routines
pfPopMStack()
Matrix Stack Operations
pfPopState()
Pushing and Popping State
pfPositionSprite()
Sprite Transformations
pfPostMultMat()
Matrix Operations
pfPostMultMStack()
Matrix Stack Operations
Matrix Stack Operations
pfPostRotMat()
Matrix Operations
pfPostRotMStack()
Matrix Stack Operations
pfPostScaleMat()
Matrix Operations
pfPostScaleMStack()
Matrix Stack Operations
Matrix Stack Operations
pfPostTransMat()
Matrix Operations
pfPostTransMStack()
Matrix Stack Operations
pfPreMultMat()
Matrix Operations
pfPreMultMStack()
Matrix Stack Operations
Matrix Stack Operations
pfPreRotMat()
Matrix Operations
pfPreRotMStack()
Matrix Stack Operations
pfPreScaleMat()
Matrix Operations
pfPreTransMat()
Matrix Operations
pfPrint()
Geometry Sets
User Data
Printing
pfGeoSet Operations
pfPushIdentMatrix()
Graphics Library Matrix Routines
pfPushMatrix()
pfNode Cull and Draw Callbacks
Graphics Library Matrix Routines
pfPushMStack()
Matrix Stack Operations
pfPushState()
Pushing and Popping State
Rules for Invoking Functions While Multiprocessing
Pushing and Popping State
pfPWinConfigFunc()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinFBConfig()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinFBConfigAttrs()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinFullScreen()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinGLCxt()
Creating, Configuring and Opening pfPipeWindow
pfPWinIndex()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinMode()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinOriginSize()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinScreen()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinShare()
Creating, Configuring and Opening pfPipeWindow
pfPWinType()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinWSDrawable()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfPWinWSWindow()
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
pfQuatMeanTangent()
Quaternion Operations
pfQueryFeature()
Draw Stage and Graphics Pipeline Optimizations
Lighting
pfQueryFStats()
Statistics Tokens
Querying
pfQueryGSet()
Geometry Sets
pfQueryHit()
Intersecting With pfGeoSets
Intersection Return Data: pfHit Objects
Discriminator Callbacks
Intersection Return Data: pfHit Objects
pfQueryStats()
Querying
Statistics Tokens
Querying
pfQuerySys()
Configuring the framebuffer of a pfWindow
pfQueryWin()
pfWindows and GL Windows
Configuring the framebuffer of a pfWindow
pfWindows and GL Windows
pfReadFile()
Asynchronous I/O
Asynchronous I/O
pfRef()
pfDelete() and Reference Counting
pfReleaseDPool()
Datapools
Datapools
pfRemoveChan()
Multiple Channels and Multiple Windows
pfRemoveChild()
pfGroup
pfBuffer
pfGroup
pfRemoveGSet()
pfText Nodes
pfGeode Nodes
pfReplaceGSet()
pfDelete() and Reference Counting
pfText Nodes
pfDelete() and Reference Counting
pfGeode Nodes
pfResetDList()
Display Lists
pfResetMStack()
Matrix Stack Operations
pfResetStats()
Statistics Tokens
pfRotate()
Graphics Library Matrix Routines
pfScale()
Graphics Library Matrix Routines
pfScaleVec3()
Vector Operations
pfSceneGState()
Draw Stage and Graphics Pipeline Optimizations
pfScene Default Rendering State
pfSeekFile()
Asynchronous I/O
pfSegIsectPlane()
Intersecting With Planes and Triangles
pfSegIsectTri()
Intersecting With Planes and Triangles
pfSelectBuffer()
pfBuffer
Glossary
pfSelectState()
State Management
pfSelectWin()
Windows
pfSelectWSConnection()
Communicating with the Window System
pfSeqDuration()
pfSequence Nodes
pfSeqInterval()
pfSequence Nodes
pfSeqMode()
pfSequence Nodes
pfSeqTime()
pfSequence Nodes
pfSetMatCol()
Matrix Operations
pfSetMatColVec3()
Matrix Operations
pfSetMatRow()
Matrix Operations
pfSetMatRowVec3()
Matrix Operations
pfSetVec3()
Vector Operations
pfShadeModel()
Shading Model
pfSharedArenaSize()
Shared Arenas
Memory Allocation
Shared Arenas
pfSlerpQuat()
Quaternion Operations
pfSphereAroundBoxes()
Creating Bounding Volumes
pfSphereAroundPts()
Creating Bounding Volumes
pfSphereAroundSpheres()
Creating Bounding Volumes
pfSphereContainsCyl()
Volume-Volume Intersection Tests
pfSphereContainsPt()
Point-Volume Intersection Tests
pfSphereContainsSphere()
Volume-Volume Intersection Tests
pfSphereExtendByPt()
Creating Bounding Volumes
pfSphereExtendBySphere()
Creating Bounding Volumes
pfSphereIsectSeg()
Intersecting With Volumes
pfSpotLightCone()
pfLightSource Nodes
pfSpotLightDir()
pfLightSource Nodes
pfSpriteAxis()
Sprite Transformations
pfSpriteMode()
Sprite Transformations
Sprite Transformations
pfSqrDistancePt3()
Vector Operations
pfSquadQuat()
Quaternion Operations
pfStageConfigFunc()
Creating and Configuring a pfPipe
pfStatsClass()
Statistics Buffers
Fill Statistics
pfStatsClassMode()
Enabling Only Statistics of Interest
Statistics Buffers
Statistics Tokens
pfStatsCountGSet()
Statistics Buffers
pfStatsHwAttr()
Fill Statistics
Fill Statistics
Statistics Buffers
pfStringColor()
pfString
pfStringFont()
pfString
pfStringMat()
pfString
pfStringMode()
pfString
pfSubloadTex()
Texture
pfSubloadTexLevel()
Texture
pfSubMat()
Matrix Operations
pfSubVec3()
Vector Operations
pfSwitchVal()
pfSwitch Nodes
pfSync()
Frame Rate and Synchronization
Application Traversal
Stage Timing Graph
Stage Timing Graph
Application Optimizations
Stage Timing Graph
Stage Timing Graph
Simulation Loop
Fixing the Frame Rate
pfTevMode()
Draw Stage and Graphics Pipeline Optimizations
pfTexDetail()
Texture
pfDelete() and Reference Counting
pfTexFilter()
Draw Stage and Graphics Pipeline Optimizations
Texture
pfTexFormat()
Texture
Texturing
Texture
pfTexFrame()
Texture
pfTexImage()
pfDelete() and Reference Counting
Texture
Texture
pfTexLevel()
Texture
pfTexList()
Texture
pfTexLoadImage()
Texture
pfTexLoadMode()
Texture
Texture
Texture
pfTexLoadOrigin()
Texture
pfTexLoadSize()
Texture
pfTexSpline()
Texture
pfTGenMode()
Automatic Texture Coordinate Generation
pfTGenPlane()
Automatic Texture Coordinate Generation
pfTranslate()
Graphics Library Matrix Routines
pfTransparency()
Local and Global State
Draw Stage and Graphics Pipeline Optimizations
Transparency
Rules for Invoking Functions While Multiprocessing
Graphics State
Fill Bottlenecks
pfTransposeMat()
Matrix Operations
pfTriIsectSeg()
Intersecting With Planes and Triangles
pfuCollideSetup()
Cull and Intersection Optimizations
pfuDownloadTexList()
Draw Process Tips
pfuLockDownApp()
Process Pipeline Tuning Tips
pfuLockDownCull()
Process Pipeline Tuning Tips
pfuLockDownDraw()
Process Pipeline Tuning Tips
pfuLockDownProc()
Process Pipeline Tuning Tips
pfUnref()
pfDelete() and Reference Counting
pfUnrefDelete()
pfDelete() and Reference Counting
pfUpdatePart()
pfPartition Nodes
pfPartition Nodes
pfuPrioritizeProcs()
Process Pipeline Tuning Tips
pfUserData()
Subclassing pfObjects
User Data
pfVClockSync()
Video Refresh Counter (VClock)
pfViewMat()
Sprite Transformations
pfWinFBconfig()
Configuring the framebuffer of a pfWindow
pfWindows and GL Windows
pfWindows and GL Windows
pfWinFBConfigAttrs()
Configuring the framebuffer of a pfWindow
pfWinFBConfigData()
Configuring the framebuffer of a pfWindow
pfWindows and GL Windows
Configuring the framebuffer of a pfWindow
pfWinFullScreen()
Creating, Configuring and Opening pfPipeWindow
Windows
pfWinGLCxt()
pfWindows and GL Windows
pfWindows and GL Windows
pfWindows and GL Windows
pfWinIndex()
Manipulating a pfWindow
Manipulating a pfWindow
Manipulating a pfWindow
pfWinMode()
Manipulating a pfWindow
pfWinOriginSize()
Windows
pfWinOverlayWin()
Manipulating a pfWindow
pfWinScreen()
Windows
pfWinShare()
Manipulating a pfWindow
pfWinStatsWin()
Manipulating a pfWindow
pfWinType()
Windows
pfWinWSDrawable()
pfWindows and GL Windows
pfWindows and GL Windows
pfWindows and GL Windows
pfWinWSWindow()
pfWindows and GL Windows
pfWindows and GL Windows
Manipulating a pfWindow
Manipulating a pfWindow
pfWriteFile()
Asynchronous I/O
Asynchronous I/O
pfXformBox()
Transforming Bounding Volumes
pfXformPt3()
Vector Operations
pfXformVec3()
Vector Operations

runway lights
Special Features (pfEarthSky, pfSequence, pfLightPoint)

Ryan S-T airplane
Setting Up a Viewpoint

S1000 data base API
SIMNET S1000 Format

S1000 format. See formats
SIMNET S1000 Format

sample code
Statistics Examples
pfPipeWindows in Action
Using glprof to Find Performance Bottlenecks
Database Loading Details
Example of pfPipe Use
Texture
Creating, Configuring and Opening pfPipeWindow
Creation of a Performer Database Converter using libpfdu
Overview
pfBillboard Nodes
Application Traversal
Process Pipeline Tuning Tips
Initialization and Type Definition
Level-of-Detail Range Processing
Draw Process Tips
pfPipeWindows in Action
Draw Process Tips
pfLPointState
Fill Statistics
Morphing
Balancing Cull and Draw Processing with Database Hierarchy
More pfWindow Examples
Glossary
Exploring Code
Displaying Statistics Simply
Overview of Performer Database Creation and Conversion
More pfWindow Examples
Highlights
More pfWindow Examples
Paths Through the Scene Graph
libpr Sample Code
The pfWindow Windowing Functions
libpr Sample Code

sample data
Overview

sample programs
pfdLoadFile - Loading Arbitrary Databases into Performer
Glossary
perfly
Getting Acquainted With IRIS Performer

sample source directory
Conventions

sampling, program counter
Using pixie and prof to Measure Performance

scan rate
Fixing the Frame Rate

scene complexity, definition
Glossary

scene graph
Creating a Database
defined
Glossary
state inheritance
State Inheritance

scene graphs
Scene Graph Hierarchy

scene hraph
Visual Database (pfScene)

scene, definition
Glossary

Schacter, Bruce J.
Visual Simulation
Survey Articles in Magazines
Survey Articles in Magazines

screen-door transparency
Transparency

SCS. See pfSCS nodes
pfSCS Nodes

search paths
File Search Paths
Setting the Search Path for Database Files
definition
Glossary

segments
Creating and Working With Line Segments
See also pfSegSet
Creating and Working With Line Segments

semaphores, allocating
Allocating Locks and Semaphores

sense, definition of
Glossary

setmon()
Video Refresh Counter (VClock)

setrlimit()
Shared Arenas
Shared Arenas

SGF format. See formats
USNA Standard Graphics Format

SGO format. See formats
Silicon Graphics SGO Format

shading
Sophisticated Shading
flat
Shading Model
Gouraud
Shading Model

shadow map
Spotlights and Shadows
defined
Glossary

shadows
Spotlights and Shadows
Creating, Configuring and Opening pfPipeWindow

shared arena, memory mapping
Shared Arenas

shared instancing
Shared Instancing
defined
Glossary

shared memory
allocation
Creating and Deleting IRIS Performer Objects
arenas
Allocating Memory With pfMalloc()
datapools
Datapools
debugging and
Shared Memory
initializing
Initializing Shared Memory

sharing channel attributes
Using Channel Groups

sharpen texture
Graphics and Modeling Techniques to Improve Performances

shininess, definition
Glossary

Shoemake, Ken
Computer Graphics

siblings, of a node, defined
Glossary

Sierpinski sponge
Sierpinski Sponge Loader
Database Formats and IRIS Performer
Overview of Performer Database Creation and Conversion

SIGGRAPH
Computer Graphics

Silicon Graphics Object format. See formats
Silicon Graphics SGO Format

SIMNET
SIMNET S1000 Format

simple.c example program
Overview

simulation based design
Why Use IRIS Performer?

simulation loop
Simulation Loop

simulator sickness
Low-Latency Image Generation

single inheritance
Inheritance Graph

single-precision arithmetic
Special Coding Tips

skeleton animation
Skeleton Animation

sky
Special Features (pfEarthSky, pfSequence, pfLightPoint)

Software Systems
MultiGen OpenFlight Format

Soma cube puzzle
Designer's Workbench DWB Format

sorting
Antialiasing
defined
Glossary

sorting for transparency
Transparency

source code
Draw Process Tips
Draw Process Tips
More pfWindow Examples
More pfWindow Examples
Balancing Cull and Draw Processing with Database Hierarchy
libpr Sample Code
libpr Sample Code
pfPipeWindows in Action
Morphing
Fill Statistics
Overview of Performer Database Creation and Conversion
Highlights
Displaying Statistics Simply
Exploring Code
Using glprof to Find Performance Bottlenecks
Database Loading Details
Example of pfPipe Use
Creation of a Performer Database Converter using libpfdu
Level-of-Detail Range Processing
pfLPointState
Texture
Initialization and Type Definition
Statistics Examples
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Application Traversal
pfPipeWindows in Action
Paths Through the Scene Graph
Overview
Glossary
pfBillboard Nodes
More pfWindow Examples
Process Pipeline Tuning Tips
sample code
Database Construction

source code examples
Conventions

source code tour
Overview

spacing
character
pfFont
definition
Glossary

sparkle
Antialiasing

spatial organization
Organizing a Database for Efficient Culling
definition
Glossary

SPF format. See formats
USNA Simple Polygon File Format

spheres
as bounding volumes
Spheres

SPIE
Conference Proceedings

SPONGE format. See formats
Sierpinski Sponge Loader

spotlights
Spotlights and Shadows

sprite
Sprite Transformations
defined
Glossary

sproc()
Efficient Intersection and Traversals
Asynchronous I/O
More on Shared Memory and the Type System
Multiprocessing and Memory

Sproull, Robert F.
Computer Graphics

stage timing graph
Interpreting Statistics Displays
Stage Timing Graph
See also statistics
Interpreting Statistics Displays

stage, definition
Glossary

stages of rendering
Review of Rendering Stages

Staples, J. K.
Visual Simulation

STAR format. See formats
Star Chart Format

state
changes
Draw Stage and Graphics Pipeline Optimizations
defined
Glossary
inheritance
State Inheritance
local and global
Local and Global State

state elements
Graphics State

state management
Efficient Graphics State Management (pfState)

state specification
global
Local and Global State
local
Local and Global State

static coordinate systems. See pfSCS nodes
pfSCS Nodes

static data in C++ classes
Static Member Data

statistics
Statistics
More Controls
average
The pfStats Data Structure
CPU
CPU Statistics
cumulative
The pfStats Data Structure
current
The pfStats Data Structure
data structures
Statistics
The pfStats Data Structure
displaying
Displaying Statistics Simply
Statistics
Interpreting Statistics Displays
enabling
Statistics Rules of Use
fill
Fill Statistics
graphics
Rendering Statistics
previous
The pfStats Data Structure
stage timing
defaults
Enabling and Disabling Statistics for a Channel
graph
Stage Timing Graph
use in applications
Collecting and Accessing Statistics in Your Application

stencil decaling
Decals
defined
Glossary

stereo display
One Window per Pipe, Multiple channels per Window

Stevens, Brian L.
Mathematics of Flight Simulation

STL format. See formats
3D Lithography STL Format

stress management
Dynamic Load Management
Frame Control

stress management. See load management
Load and Stress

stress, definition
Glossary

structures
libpfdu
pfdBuilder
Silicon Graphics GFO Format

subclassing
Subclassing pfObjects

subgraph, definition
Glossary

subpixel Z-buffer
Antialiasing

subpixels
Antialiasing

SuperViewer
SuperViewer SV Format

SV format. See formats
SuperViewer SV Format

switch nodes
pfSwitch Nodes

synchronization mode
Frame Rate and Synchronization

synchronization of frames
Frame Synchronization

system load management
Frame Control

Tarbouriech, Philippe
Computer Graphics

tearing
Decals

testing
intersections. See intersections
Creating and Working With Line Segments
visibility
Visibility Testing

Texas Instruments
SIMNET S1000 Format

texel, definition
Glossary

text
pfText Nodes

texture
detail
Graphics and Modeling Techniques to Improve Performances
environment mapping
Environment Mapping
magnification
Graphics and Modeling Techniques to Improve Performances
minification
Graphics and Modeling Techniques to Improve Performances
overview
Texture Mapping
sharpen
Graphics and Modeling Techniques to Improve Performances

texture mapping, defined
Glossary

texturing
overview
Texture
performance cost
Transform Bottlenecks
Multisampling
RealityEngine graphics
Texturing
representing complex objects
Graphics and Modeling Techniques to Improve Performances

tile, defined
Glossary

time of day clockclocks
available types
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)

timing
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)

tokens
APP_CULL_DRAW
Using pixie and prof to Measure Performance
PF_MAX_LIGHTS
Lighting
PF_OFF
Rendering Modes
Rendering Modes
Rendering Modes
PFAA_OFF
Rendering Modes
PFAF_ALWAYS
Rendering Modes
PFAF_GREATER
Alpha Function
PFBOUND_STATIC
Bounding Volumes
PFCF_BACK
Frontface / Backface
PFCF_BOTH
Frontface / Backface
PFCF_FRONT
Frontface / Backface
PFCF_OFF
Rendering Modes
Frontface / Backface
PFCHAN_EARTHSKY
Using Channel Groups
PFCHAN_FOV
Using Channel Groups
PFCHAN_LOD
Using Channel Groups
Using Channel Groups
PFCHAN_NEARFAR
Using Channel Groups
PFCHAN_SCENE
Using Channel Groups
PFCHAN_STRESS
Using Channel Groups
PFCHAN_SWAPBUFFERS
Using Channel Groups
Using Channel Groups
PFCHAN_VIEW
Using Channel Groups
PFCHAN_VIEW_OFFSETS
Using Channel Groups
PFCULL_GSET
pfChannel Traversal Modes
pfChannel Traversal Modes
pfChannel Traversal Modes
pfChannel Traversal Modes
PFCULL_IGNORE_LSOURCES
pfLightSource Nodes
pfChannel Traversal Modes
pfChannel Traversal Modes
PFCULL_SORT
pfChannel Traversal Modes
pfChannel Traversal Modes
pfChannel Traversal Modes
pfChannel Traversal Modes
Cull and Intersection Optimizations
PFCULL_VIEW
pfChannel Traversal Modes
pfChannel Traversal Modes
pfChannel Traversal Modes
PFDECAL_BASE_STENCIL
Decals
Decals
PFDECAL_LAYER_STENCIL
Decals
PFDECAL_OFF
Rendering Modes
Decals
PFDL_RING
Display Lists
PFDRAW_OFF
pfChannel Traversal Modes
PFDRAW_ON
pfChannel Traversal Modes
PFEN_COLORTABLE
Enable / Disable
PFEN_FOG
Enable / Disable
PFEN_HIGHLIGHTING
Enable / Disable
PFEN_LIGHTING
Enable / Disable
PFEN_LPOINTSTATE
Enable / Disable
PFEN_TEXGEN
Enable / Disable
PFEN_TEXTURE
Enable / Disable
PFEN_WIREFRAME
Enable / Disable
PFES_BUFFER_CLEAR
Using pfEarthSky
PFES_FAST
Atmospheric Effects
PFES_GRND_FAR
Using pfEarthSky
PFES_GRND_HT
Using pfEarthSky
PFES_GRND_NEAR
Using pfEarthSky
PFES_SKY
Atmospheric Effects
PFES_SKY_CLEAR
Atmospheric Effects
PFES_SKY_GRND
Atmospheric Effects
Using pfEarthSky
PFFB_ACCUM_ALPHA_SIZE
Configuring the framebuffer of a pfWindow
PFFB_ACCUM_BLUE_SIZE
Configuring the framebuffer of a pfWindow
PFFB_ACCUM_GREEN_SIZE
Configuring the framebuffer of a pfWindow
PFFB_ACCUM_RED_SIZE
Configuring the framebuffer of a pfWindow
PFFB_ALPHA_SIZE
Configuring the framebuffer of a pfWindow
PFFB_AUX_BUFFER
Configuring the framebuffer of a pfWindow
PFFB_BLUE_SIZE
Configuring the framebuffer of a pfWindow
PFFB_BUFFER_SIZE
Configuring the framebuffer of a pfWindow
PFFB_DEPTH_SIZE
Configuring the framebuffer of a pfWindow
PFFB_DOUBLEBUFFER
Configuring the framebuffer of a pfWindow
PFFB_GREEN_SIZE
Configuring the framebuffer of a pfWindow
PFFB_RED_SIZE
Configuring the framebuffer of a pfWindow
PFFB_RGBA
Configuring the framebuffer of a pfWindow
PFFB_STENCIL
Configuring the framebuffer of a pfWindow
PFFB_STEREO
Configuring the framebuffer of a pfWindow
PFFB_USE_GL
Configuring the framebuffer of a pfWindow
PFFOG_PIX_EXP
Fog
PFFOG_PIX_EXP2
Fog
PFFOG_PIX_LIN
Fog
PFFOG_PIX_SPLINE
Fog
Fog
PFFOG_VTX_EXP
Fog
PFFOG_VTX_EXP2
Fog
PFFOG_VTX_LIN
Fog
PFFONT_BBOX
pfFont
PFFONT_CHAR_SPACING
pfFont
PFFONT_CHAR_SPACING_FIXED
pfFont
PFFONT_CHAR_SPACING_VARIABLE
pfFont
PFFONT_GSTATE
pfFont
PFFONT_NAME
pfFont
PFFONT_NUM_CHARS
pfFont
PFFONT_RETURN_CHAR
pfFont
PFFONT_SPACING
pfFont
PFGS_COLOR4
Color Tables
PFGS_COMPILE_GL
pfGeoSet Operations
pfGeoSet Draw Mode
PFGS_FLAT_LINESTRIPS
Primitive Types
Attribute Bindings
PFGS_FLAT_TRISTRIPS
Primitive Types
Attribute Bindings
PFGS_FLATSHADE
pfGeoSet Draw Mode
PFGS_LINES
Primitive Types
PFGS_LINESTRIPS
Primitive Types
PFGS_OFF
Attribute Bindings
PFGS_OVERALL
Attribute Bindings
PFGS_PER_PRIM
Attribute Bindings
PFGS_PER_VERTEX
Attribute Bindings
Attribute Bindings
PFGS_POINTS
Primitive Types
pfLPointState
PFGS_POLYS
Primitive Types
PFGS_QUADS
Primitive Types
Intersecting With pfGeoSets
PFGS_TRIS
Primitive Types
Intersecting With pfGeoSets
PFGS_TRISTRIPS
Intersecting With pfGeoSets
Primitive Types
PFGS_WIREFRAME
pfGeoSet Draw Mode
PFHL_BBOX_FILL
Highlights
PFHL_BBOX_LINES
Highlights
PFHL_FILL
Highlights
PFHL_FILL_R
Highlights
PFHL_FILLPAT
Highlights
PFHL_FILLPAT2
Highlights
PFHL_FILLTEX
Highlights
PFHL_LINES
Highlights
PFHL_LINES_R
Highlights
PFHL_LINESPAT
Highlights
PFHL_LINESPAT2
Highlights
PFHL_NORMALS
Highlights
PFHL_POINTS
Highlights
PFHL_SKIP_BASE
Highlights
PFIS_ALL_IN
pfNode Cull and Draw Callbacks
Volume-Volume Intersection Tests
pfNode Cull and Draw Callbacks
Intersecting With Volumes
PFIS_FALSE
Point-Volume Intersection Tests
Intersecting With Planes and Triangles
Volume-Volume Intersection Tests
pfNode Cull and Draw Callbacks
PFIS_MAYBE
Intersecting With Volumes
Volume-Volume Intersection Tests
Intersecting With Volumes
Volume-Volume Intersection Tests
Volume-Volume Intersection Tests
Volume-Volume Intersection Tests
PFIS_PICK_MASK
Picking
PFIS_START_IN
Intersecting With Volumes
PFIS_TRUE
Intersecting With Volumes
Intersecting With Planes and Triangles
Point-Volume Intersection Tests
Volume-Volume Intersection Tests
Volume-Volume Intersection Tests
Intersecting With Volumes
PFLS_INTENSITY
Spotlights and Shadows
PFLS_PROJ_FOG
Spotlights and Shadows
PFLS_PROJ_FRUSTUM
Spotlights and Shadows
PFLS_PROJ_TEX
Spotlights and Shadows
PFLS_SHADOW_SIZE
Spotlights and Shadows
PFMP_APP_CULL_DRAW
Multiprocessing and Memory
Choosing a Multiprocessing Model
Stage Timing Graph
Multiple Pipelines
Rules for Invoking Functions While Multiprocessing
PFMP_APP_CULLDRAW
Choosing a Multiprocessing Model
Rules for Invoking Functions While Multiprocessing
Forcing Display-List Generation
PFMP_APPCULL_DRAW
Choosing a Multiprocessing Model
Multiple Pipelines
PFMP_APPCULLDRAW
Multiple Pipelines
Use the Simplest Process Model
Choosing a Multiprocessing Model
Forcing Display-List Generation
PFMP_CULL_DL_DRAW
Choosing a Multiprocessing Model
Draw Stage and Graphics Pipeline Optimizations
Forcing Display-List Generation
Cull and Intersection Optimizations
PFMP_CULLoDRAW
Cull-Overlap-Draw Mode
Choosing a Multiprocessing Model
Stage Timing Graph
Cull-Overlap-Draw Mode
Forcing Display-List Generation
PFMP_FORK_CULL
Choosing a Multiprocessing Model
Choosing a Multiprocessing Model
PFMP_FORK_DBASE
DBASE Process
PFMP_FORK_DRAW
Choosing a Multiprocessing Model
Choosing a Multiprocessing Model
Choosing a Multiprocessing Model
Cull-Overlap-Draw Mode
PFMP_FORK_ISECT
Intersection Pipeline
PFMPASS_NONTEX_SCENE
Spotlights and Shadows
PFMTL_CMODE_AD
Transform Bottlenecks
PFNFY_ALWAYS
Error-Handling and Notification
PFNFY_DEBUG
Avoid Floating-Point Exceptions
pfdLoadFile - Loading Arbitrary Databases into Performer
Error-Handling and Notification
PFNFY_FATAL
Error-Handling and Notification
Allocating Memory With pfMalloc()
PFNFY_FP_DEBUG
Error-Handling and Notification
Error-Handling and Notification
Error-Handling and Notification
PFNFY_INFO
Error-Handling and Notification
PFNFY_NOTICE
Error-Handling and Notification
PFNFY_WARN
Error-Handling and Notification
PFPB_LEVEL
Configuring the framebuffer of a pfWindow
PFPHASE_FLOAT
Frame Synchronization
PFPHASE_FREE_RUN
Frame Synchronization
PFPHASE_LIMIT
Frame Synchronization
PFPHASE_LOCK
Frame Synchronization
PFPK_M_ALL
Picking
PFPK_M_NEAREST
Picking
PFPROC_APP
Creating and Configuring a pfPipe
PFPROC_CULL
Creating and Configuring a pfPipe
PFPROC_DBASE
Creating and Configuring a pfPipe
PFPROC_DRAW
Creating and Configuring a pfPipe
PFPROC_ISECT
Creating and Configuring a pfPipe
PFPWIN_TYPE_NOPORT
Windows
PFPWIN_TYPE_OVERLAY
Windows
PFPWIN_TYPE_SHARE
Creating, Configuring and Opening pfPipeWindow
PFPWIN_TYPE_STATS
Windows
Creating, Configuring and Opening pfPipeWindow
PFPWIN_TYPE_X
Windows
Creating, Configuring and Opening pfPipeWindow
PFQFTR_LIGHT_ATTENUATION
Lighting
PFQFTR_LMODEL_ATTENUATION
Lighting
PFQHIT_FLAGS
Intersection Return Data: pfHit Objects
Intersection Return Data: pfHit Objects
PFQHIT_GSET
Intersection Return Data: pfHit Objects
PFQHIT_NAME
Intersection Return Data: pfHit Objects
PFQHIT_NODE
Intersection Return Data: pfHit Objects
PFQHIT_NORM
Intersection Return Data: pfHit Objects
PFQHIT_PATH
Intersection Return Data: pfHit Objects
PFQHIT_PRIM
Intersection Return Data: pfHit Objects
PFQHIT_SEG
Intersection Return Data: pfHit Objects
PFQHIT_SEGNUM
Intersection Return Data: pfHit Objects
PFQHIT_TRI
Intersection Return Data: pfHit Objects
PFQHIT_VERTS
Intersection Return Data: pfHit Objects
PFQHIT_XFORM
Intersection Return Data: pfHit Objects
PFSM_FLAT
Shading Model
PFSM_GOURAUD
Shading Model
Rendering Modes
PFSORT_BACK_TO_FRONT
Sorting the Scene
PFSORT_BY_STATE
Sorting the Scene
PFSORT_END
Sorting the Scene
PFSORT_FRONT_TO_BACK
Sorting the Scene
PFSORT_NO_ORDER
Sorting the Scene
PFSORT_QUICK
Sorting the Scene
PFSORT_STATE_BGN
Sorting the Scene
PFSORT_STATE_END
Sorting the Scene
PFSPRITE_AXIAL_ROT
Sprite Transformations
PFSPRITE_MATRIX_THRESHOLD
Sprite Transformations
PFSPRITE_POINT_ROT_EYE
Sprite Transformations
PFSPRITE_POINT_ROT_WORLD
Sprite Transformations
PFSPRITE_ROT
Sprite Transformations
PFSTATE_ALPHAFUNC
Rendering Modes
PFSTATE_ALPHAREF
Rendering Values
PFSTATE_ANTIALIAS
Rendering Modes
PFSTATE_BACKMTL
Rendering Attributes
PFSTATE_COLORTABLE
Rendering Attributes
PFSTATE_CULLFACE
Rendering Modes
PFSTATE_DECAL
Rendering Modes
PFSTATE_ENCOLORTABLE
Rendering Modes
PFSTATE_ENFOG
Rendering Modes
PFSTATE_ENHIGHLIGHTING
Rendering Modes
PFSTATE_ENLIGHTING
Local and Global State
Rendering Modes
PFSTATE_ENLPOINTSTATE
Rendering Modes
PFSTATE_ENTEXGEN
Rendering Modes
PFSTATE_ENTEXTURE
Rendering Modes
Local and Global State
PFSTATE_ENWIREFRAME
Rendering Modes
PFSTATE_FOG
Rendering Attributes
PFSTATE_FRONTMTL
Rendering Attributes
PFSTATE_HIGHLIGHT
Rendering Attributes
PFSTATE_LIGHTMODEL
Rendering Attributes
PFSTATE_LIGHTS
Rendering Attributes
PFSTATE_LPOINTSTATE
Rendering Attributes
PFSTATE_SHADEMODEL
Rendering Modes
PFSTATE_TEXENV
Rendering Attributes
PFSTATE_TEXGEN
Rendering Attributes
PFSTATE_TEXTURE
Rendering Attributes
PFSTATE_TRANSPARENCY
Rendering Modes
Graphics State
PFSTATS_ENGFX
Rendering Statistics
PFSTATS_ON
Rendering Statistics
PFSTR_CENTER
pfString
PFSTR_CHAR
pfString
PFSTR_CHAR_SIZE
pfString
PFSTR_FIRST
pfString
PFSTR_INT
pfString
PFSTR_JUSTIFY
pfString
PFSTR_LAST
pfString
PFSTR_LEFT
pfString
PFSTR_MIDDLE
pfString
PFSTR_RIGHT
pfString
PFSTR_SHORT
pfString
PFSWITCH_OFF
pfSwitch Nodes
PFSWITCH_ON
pfSwitch Nodes
PFTEX_BASE_APPLY
Texture
PFTEX_BASE_AUTO_REPLACE
Texture
PFTEX_BASE_AUTO_SUBLOAD
Texture
PFTEX_FAST
Texture
PFTEX_FAST_DEFINE, superceeded
Texture
PFTEX_LIST_APPLY
Texture
PFTEX_LIST_AUTO_IDLE
Texture
PFTEX_LIST_AUTO_SUBLOAD
Texture
PFTEX_LOAD_BASE
Texture
Texture
PFTEX_LOAD_LIST
Texture
PFTEX_SOURCE_FRAMEBUFFER
Texture
PFTEX_SOURCE_IMAGE
Texture
PFTEX_SOURCE_VIDEO
Texture
PFTEX_SUBLOAD_FORMAT
Texture
PFTG_EYE_PLANE
Automatic Texture Coordinate Generation
PFTG_EYE_PLANE_IDENT
Automatic Texture Coordinate Generation
PFTG_OBJECT_PLANE
Automatic Texture Coordinate Generation
PFTG_SPHERE_MAP
Automatic Texture Coordinate Generation
PFTR_BLEND_ALPHA
Transparency
PFTR_FAST
Transparency
PFTR_HIGH_QUALITY
Transparency
PFTR_MS_ALPHA
Transparency
PFTR_NO_OCCLUDE
Transparency
PFTR_OFF
Transparency
Rendering Modes
PFTR_ON
Transparency
PFTRAV_CONT
pfNode Cull and Draw Callbacks
Discriminator Callbacks
Discriminator Callbacks
PFTRAV_CULL
Process Callbacks and Passthrough Data
pfChannel Traversal Modes
pfChannel Traversal Modes
pfLightSource Nodes
PFTRAV_DRAW
Process Callbacks and Passthrough Data
PFTRAV_IS_BCYL
Intersection Methods for Segments
PFTRAV_IS_CACHE
Cull and Intersection Optimizations
PFTRAV_IS_CLIP_END
Line Segment Clipping
Discriminator Callbacks
PFTRAV_IS_CLIP_START
Discriminator Callbacks
Line Segment Clipping
PFTRAV_IS_CULL_BACK
Front Face/Back Face
PFTRAV_IS_GEODE
Discriminator Callbacks
PFTRAV_IS_GSET
Intersecting With pfGeoSets
Intersection Methods for Segments
Intersecting With pfGeoSets
Discriminator Callbacks
PFTRAV_IS_IGNORE
Discriminator Callbacks
Discriminator Callbacks
PFTRAV_IS_NO_PART
pfPartition Nodes
PFTRAV_IS_NODE
Intersection Methods for Segments
PFTRAV_IS_PRIM
Intersecting With pfGeoSets
Intersecting With pfGeoSets
Discriminator Callbacks
PFTRAV_MULTIPASS
Spotlights and Shadows
PFTRAV_PRUNE
pfNode Cull and Draw Callbacks
pfNode Cull and Draw Callbacks
Discriminator Callbacks
Discriminator Callbacks
PFTRAV_TERM
Discriminator Callbacks
Discriminator Callbacks
pfNode Cull and Draw Callbacks
pfNode Cull and Draw Callbacks
PFWIN_AUTO_RESIZE
Manipulating a pfWindow
PFWIN_EXIT
Manipulating a pfWindow
PFWIN_GFX_WIN
Creating, Configuring and Opening pfPipeWindow
Creating, Configuring and Opening pfPipeWindow
Manipulating a pfWindow
PFWIN_HAS_OVERLAY
Manipulating a pfWindow
PFWIN_HAS_STATS
Manipulating a pfWindow
PFWIN_NOBORDER
Manipulating a pfWindow
PFWIN_ORIGIN_LL
Manipulating a pfWindow
PFWIN_OVERLAY_WIN
Creating, Configuring and Opening pfPipeWindow
Manipulating a pfWindow
Manipulating a pfWindow
Manipulating a pfWindow
PFWIN_STATS_WIN
Manipulating a pfWindow
Creating, Configuring and Opening pfPipeWindow
PFWIN_TYPE_NOPORT
Windows
Windows
PFWIN_TYPE_OVERLAY
Windows
PFWIN_TYPE_STATS
Windows

total animation
Total Animation

total latency
Low-Latency Image Generation

tour through simple.c
Overview

tpkens
PFQHIT_POINT
Intersection Return Data: pfHit Objects

transformations
affine
Matrix Operations
definied
Glossary
inheritance through scene graph
State Inheritance
order of composition
Matrix Operations
orthogonal
Matrix Operations
orthonormal
Matrix Operations
Transforming Bounding Volumes
specified by matrices
Matrix Operations

transition distance, definition
Glossary

transparency
Transparency
Transparency
Antialiasing

transparency in textures
Surface Appearance

transport delay
Low-Latency Image Generation

traversals
Visual Database (pfScene)
activation
Database Traversal
application
Application Traversal
attributes
Database Traversal
culling
Database Traversal
Cull Traversal
customizing
Cull Traversal
Custom Visibility Culling
node pruning
Traversal Order
visibility testing
Visibility Culling
database. See databases
Database Traversal
definition
Glossary
draw
Database Traversal
Draw Traversal
intersection
Intersection Traversal
Database Traversal
overview
Visual Database (pfScene)

TRI format. See formats
Geometry Center Triangle Format

triangle meshing
The libpfdu Geometry Builder Library

trigger routine, definition
Glossary

Truxal, Carol
Survey Articles in Magazines

Tucker, Johanathan B.
Survey Articles in Magazines

twinkle
Antialiasing

type system
multiprocessing implications
More on Shared Memory and the Type System

type, actual, of objects
Determining Object Type

typographical conventions
Conventions

UNC format. See formats
UNC Walkthrough Format

unidirectional lights
pfLightPoint

unidirectional lights. See also lighting
pfLightPoint

University of Minnesota Geometry Center
Geometry Center Triangle Format

University of North Carolina
UNC Walkthrough Format

up vector, defined
Glossary

updatable objects
libpf Objects and Multiprocessing

update rate
Frame Rate and Synchronization

updates, latency-critical
Process Pipeline Tuning Tips

user data
User Data

user interfaces
X and IRIS IM

using te builder
The libpfdu Geometry Builder Library

usinit()
State Management

usnewlock()
Shared Arenas
Allocating Locks and Semaphores
Shared Memory and pfInit()
Shared Arenas

usnewsema()
Allocating Locks and Semaphores
Shared Arenas
Shared Arenas

ussetlock()
Shared Memory and pfInit()

usunsetlock()
Shared Memory and pfInit()

van Dam, Andries
Computer Graphics

van der Rohe, Ludwig Mies
Silicon Graphics GFO Format

VClock. See video counter
Video Refresh Counter (VClock)

vector routines
Vector Operations

vectors
2-component
Vector Operations
3-component
Vector Operations
4-component
Vector Operations

vehicly simulation
Mathematics of Flight Simulation

video counter
High-Resolution and Video-Rate Clocks (pfGetTime, pfVClock)
Video Refresh Counter (VClock)

video field
Stage Timing Graph

video retrace period
Frame Rate and Synchronization

video scan rate
Fixing the Frame Rate

video splitting
One Window per Pipe, Multiple channels per Window

view
matrix
Setting Up a Viewpoint
offset
Setting Up a Viewpoint

view volume visualization, definition
Glossary

viewing angles
Setting Up a Viewpoint

viewing frustum
definition
Glossary
intersection with
Visibility Testing

viewing offsets
Setting Up a Viewpoint

viewing parameters
Setting Up a Viewpoint
Setting Up a Viewing Frustum

viewpoint
Setting Up a Viewpoint
definition
Glossary

viewports
Setting Up a Viewport
defined
Glossary

views, inset
One Window per Pipe, Multiple channels per Window

virtual addresses and multiprocessing
Virtual Address Spaces and Virtual Functions

virtual functions, address space issues
Virtual Address Spaces and Virtual Functions

virtual reality
Why Use IRIS Performer?
What Is IRIS Performer?
Applications

virtual reality markup language
Application Traversal
See also VRML
Application Traversal

virtual set
Why Use IRIS Performer?

visibility culling
Visibility Culling

visual latency
Low-Latency Image Generation

visual priority. See coplanar geometry
pfLayer Nodes

visual programming
Applications

visual simulation
Why Use IRIS Performer?
What Is IRIS Performer?
overview
Survey of Visual Simulation Techniques

visual simulation, origins of
Visual Simulation

visual, defined
Glossary

volumes
bounding
Bounding Volumes
boxes
Creating and Transforming Volumes
creating
Creating Bounding Volumes
cylinders
Creating and Transforming Volumes
Efficient Intersection and Traversals
dynamic
Bounding Volumes
extending
Creating Bounding Volumes
hierarchical
Hierarchical Bounding Volumes
intersection testing
Volume-Volume Intersection Tests
spheres
Creating and Transforming Volumes
visibility testing
Visibility Testing
boxes, axially aligned
Axially Aligned Boxes
cylinders
Cylinders
geometric
Defining a Volume
half-spaces
Half-spaces (Planes)
intersections. See intersections
Intersecting Volumes
primitives
Creating and Transforming Volumes
spheres
Spheres
transforming
Transforming Bounding Volumes

VRML
Application Traversal
Silicon Graphics Open Inventor Format
Silicon Graphics Open Inventor Format
Database Loading Details

Wavefront
Wavefront Technology OBJ Format
OBJ format
The libpfdb Loader Library

widget, defined
Glossary

windows
Using pfPipeWindows
Creating, Configuring and Opening pfPipeWindow
The pfWindow Windowing Functions
X and IRIS IM
Creating and Configuring a pfPipe

WindRiver
Performance Measurement Tools

WindView
Performance Measurement Tools

wireframe
pfGeoSet Draw Mode

Woo, Mason
The IRIS GL and OpenGL Graphics Libraries

wood, balsa
Setting Up a Viewpoint

WorkShop
Performance Measurement Tools

world's fair, 1929, Barcelona Spain
Silicon Graphics GFO Format

Wright, Frank Lloyd
Image Gallery

write()
Asynchronous I/O

www.sgi.com
Internet Resources

X window system
X, Xt, IRIS IM, and Window Systems
X and IRIS IM

X windows
pfPipeWindows in Action

XCreateWindow()
pfWindows and GL Windows

Yale Compact Star Chart
Star Chart Format

Yellowstone National Park
Silicon Graphics PTU Format

z-fighting
Decals