Programming with OpenGL Performer

Chapter 3, “OpenGL Performer Programming Interface”.

Chapter 4, “Introduction to OpenGL Performer Concepts”.

Chapter 5, “Creating a Display with pfChannel”.

Chapter 6, “Creating Scene Graphs”.

Chapter 7, “Creating Geometry with pfGeoSets”.

Chapter 8, “Specifying the Appearance of Geometry with pfState and pfGeoState”.

Chapter 9, “Placing Geometry in a Scene ”.

Chapter 10, “Controlling Frame Rate”.

Chapter 11, “Multiprocessing”.

Chapter 12, “Database Paging”.

Chapter 13, “Intersection Testing”.

Chapter 14, “Creating a User Interface”.

Chapter 15, “Optimizing Performance”.

Table of Contents

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