OpenGL Performer™ Getting Started Guide

Document Number: 007-3560-005

Front Matter

| List of Figures | List of Examples | List of Tables |

Table of Contents

New Features in This Guide

About This Guide
What Is OpenGL Performer?
Why Use OpenGL Performer?
What You Should Know Before Reading This Guide
What This Guide Contains
Internet and Hardcopy Reading for the OpenGL Performer Series
Reader Comments

I. Overview of OpenGL Performer

1. Getting Acquainted with OpenGL Performer
Installing the Software
Exploring the OpenGL Performer Sample Scenes with Perfly
Loading Databases into OpenGL Performer
Going Beyond Visual Simulation

2. OpenGL Performer Basics
OpenGL Performer Applications
Library Structure of OpenGL Performer
Overview of the OpenGL Performer Library Structure
Porting from IRIS GL to OpenGL
Survey of Visual Simulation Techniques

II. Programming with OpenGL Performer

3. OpenGL Performer Programming Interface
General Naming Conventions
Class API
Base Clas ses

4. Introduction to OpenGL Performer Concepts
Scene-to-Screen Path
Parts of a Performer Application
Inputting and Reading User Events

5. Creating a Display with pfChannel
Creating and Configuring a pfChannel
Initializing the pfChannel View
Channel Callbacks
Using Multiple Channels
Multiple Pipes

6. Creating Scene Graphs
What Is a Node?
Scene Graph Nodes
Creating a Scene Graph
Loading a Scene Graph
Saving a Scene Graph
Scene Graph Traversals
Customizing OpenGL Performer Traversals

7. Creating Geometry with pfGeoSets
pfGeoSet Overview
Creating a pfGeoSet
Attributes of pfGeoSet Primitives
Placing Geometry in a Scene Graph
Creating Common Geometric Objects

8. Specifying the Appearance of Geometry with pfState and pfGeoState
Setting the Graphics State
Using Textures
Specifying the Material
Specifying Lighting

9. Placing Geometry in a Scene
World Space and Object Space
Transformation Nodes
Using pfFCS
Using DCS Nodes
Using SCS Nodes

10. Controlling Frame Rate
Double Buffering
Specifying a Target Frame Rate
Frame Synchronization
Adjusting the Frame Rate Automatically

11. Multiprocessing
OpenGL Performer Stages
Benefits of Multiprocessing
Shared Memory
Printing Process States
Setting Up Multiprocessing
Automatic Multiprocessing

12. Database Paging
Anticipating Paging
Database Process

13. Intersection Testing
Creating an ISECT Process
Constructing a Segment Set for pfNodeIsectSegs()
Testing for Intersections

14. Creating a User Interface
Traveling through a Scene
Example of Implementing User Interaction

15. Optimizing Performance
General Performance Tips
Culling Unseen Shapes
Maintaining Frame Rate Using D VR
Level of Detail Reduced for Performance
Reducing System Stress
Optimizing Geometry Performance
Optimizing Graphics State Changes
Optimizing Texture Handling
Optimizing File Loading

A. Building a Visual Simulation Application Using libpf
Setting Up the Basic Elements
Compiling and Linking OpenGL Performer Applications

B. Building a Visual Simulation Application Using libpfv
The Simplest pfvViewer Program
Adding Interaction to a pfvViewer Program
Reading XML Configuration Files
Module Scoping, Multiple Worlds and Multiple Views
Extending a pfvViewer—Writing Custom Modules
 Extending a pfvViewer—Module Entry Points
Picking, Selection, and Interaction
More Sample Programs, Configuration Files, and Source Code

C. Image Gallery