# defaults |
0|OpenGL Performer&#8482; Getting Started Guide|sgi_html/index.html
1|Front Matter|sgi_html/front.html
1|New Features in This Guide|sgi_html/pr01.html
1|About This Guide|sgi_html/pr02.html
2|What Is OpenGL Performer?|sgi_html/pr02.html#id5178943
2|Why Use OpenGL Performer?|sgi_html/pr02.html#id5179041
2|What You Should Know Before Reading This Guide|sgi_html/pr02.html#id5179294
2|What This Guide Contains|sgi_html/pr02.html#id5179354
3|Part One: Overview of OpenGL Performer|sgi_html/pr02.html#id5179394
3|Part Two: Programming with OpenGL Performer|sgi_html/pr02.html#id5179474
2|Conventions|sgi_html/pr02.html#id5179699
2|Internet and Hardcopy Reading for the OpenGL Performer Series|sgi_html/pr02.html#id5177280
2|Reader Comments|sgi_html/pr02.html#id5177410
1|Part I. Overview of OpenGL Performer|sgi_html/pt01.html
2|Chapter 1. Getting Acquainted with OpenGL Performer|sgi_html/ch01.html
3|Installing the Software|sgi_html/ch01.html#LE51844-PARENT
3|Exploring the OpenGL Performer Sample Scenes with Perfly|sgi_html/ch01.html#id5177729
4|Locations of Perfly and Example Source Code|sgi_html/ch01.html#LE23302-PARENT
4|Starting and Quitting Perfly|sgi_html/ch01.html#LE21304-PARENT
4|Basic Perfly Controls|sgi_html/ch01.html#LE22969-PARENT
4|Looking Around|sgi_html/ch01.html#LE13153-PARENT
4|Approaching the Building|sgi_html/ch01.html#LE29818-PARENT
4|More Controls|sgi_html/ch01.html#LE35596-PARENT
4|Other Motion Models|sgi_html/ch01.html#LE33960-PARENT
5|Flying|sgi_html/ch01.html#id5178543
5|Trackball|sgi_html/ch01.html#id5187712
5|Motion Using Paths|sgi_html/ch01.html#id5187780
4|The Use of Instances|sgi_html/ch01.html#LE32404-PARENT
3|Loading Databases into OpenGL Performer|sgi_html/ch01.html#id5187866
3|Going Beyond Visual Simulation|sgi_html/ch01.html#id5188044
2|Chapter 2. OpenGL Performer Basics|sgi_html/ch02.html
3|OpenGL Performer Applications|sgi_html/ch02.html#id5188128
3|Library Structure of OpenGL Performer|sgi_html/ch02.html#id5188295
4|Library Features|sgi_html/ch02.html#id5189288
5|High-Performance Rendering Library (libpr)|sgi_html/ch02.html#id5189342
5|Visual Simulation Application Library (libpf)|sgi_html/ch02.html#id5189492
5|Geometry Builder Library (libpfdu)|sgi_html/ch02.html#LE37306-PARENT
5|Utility Library (libpfutil)|sgi_html/ch02.html#id5189808
5|User Interface Library (libpfui)|sgi_html/ch02.html#id5189909
5|A Graphical Viewer Library (libpfv)|sgi_html/ch02.html#id5189954
5|A Configuration-Import Library (libpfmpk)|sgi_html/ch02.html#id5190034
5|Database Loader Library (libpfdb)|sgi_html/ch02.html#id5190063
3|Overview of the OpenGL Performer Library Structure|sgi_html/ch02.html#id5190094
4|libpf&#8212;Visual Simulation Library|sgi_html/ch02.html#id5190157
5|Multiprocessing Framework|sgi_html/ch02.html#id5190201
5|Display|sgi_html/ch02.html#id5190431
5|Frame Control|sgi_html/ch02.html#id5190449
5|Visual Database (pfScene)|sgi_html/ch02.html#id5190500
5|Special Features (pfEarthSky, pfSequence, pfASD)|sgi_html/ch02.html#id5190904
4| libpr&#8212;High-Performance Rendering Library|sgi_html/ch02.html#id5191078
5|High-Performance Geometry Rendering|sgi_html/ch02.html#id5191110
5|Efficient Graphics State Management|sgi_html/ch02.html#id5191172
5|Graphics State Encapsulation|sgi_html/ch02.html#id5191231
5|Display Lists|sgi_html/ch02.html#LE68334-PARENT
5|Math Support|sgi_html/ch02.html#id5191367
5|Intersections|sgi_html/ch02.html#id5191396
5|Color Tables (pfColortable)|sgi_html/ch02.html#id5191410
5|Light Points|sgi_html/ch02.html#id5191460
5|pfObjects|sgi_html/ch02.html#id5191497
5|Asynchronous File I/O (pfFile)|sgi_html/ch02.html#id5191511
5|Memory Allocation (pfDataPool)|sgi_html/ch02.html#id5191523
5|High-Resolution and Video-Rate Clocks (pfGetTime,)|sgi_html/ch02.html#id5191570
5|The pfWindow Windowing Functions|sgi_html/ch02.html#id5191669
4| libpfdu&#8212;Geometry Builder Library|sgi_html/ch02.html#id5191778
5|Database Builder|sgi_html/ch02.html#id5191973
4|libpfv&#8212;A Graphical Viewer Library|sgi_html/ch02.html#id5192111
4|libpfmpk&#8212;A Configuration-Import Library|sgi_html/ch02.html#id5192407
3|X and IRIS IM|sgi_html/ch02.html#id5192474
3|Porting from IRIS GL to OpenGL|sgi_html/ch02.html#id5192562
3|Survey of Visual Simulation Techniques|sgi_html/ch02.html#id5192660
4|Low-Latency Image Generation|sgi_html/ch02.html#id5192948
4|Consistent Frame Rates|sgi_html/ch02.html#id5193178
4|Rich Scene Content|sgi_html/ch02.html#id5193280
5|Level of Detail Selection|sgi_html/ch02.html#id5193291
5|Billboard Objects|sgi_html/ch02.html#id5193382
5|Animation Sequences|sgi_html/ch02.html#id5193471
5|Antialiasing|sgi_html/ch02.html#id5193565
4|Texture Mapping|sgi_html/ch02.html#id5193774
5|Surface Appearance|sgi_html/ch02.html#id5193850
5|Environment Mapping|sgi_html/ch02.html#id5193899
5|Sophisticated Shading|sgi_html/ch02.html#id5193971
5|Projective Texture|sgi_html/ch02.html#id5194021
4|Character Animation|sgi_html/ch02.html#id5194063
5|Morphing|sgi_html/ch02.html#id5194175
5|Generalized Morphing|sgi_html/ch02.html#id5194262
5|Skeleton Animation|sgi_html/ch02.html#id5194432
5|Total Animation|sgi_html/ch02.html#id5194492
4|Database Construction|sgi_html/ch02.html#id5194551
1|Part II. Programming with OpenGL Performer|sgi_html/pt02.html
2|Chapter 3. OpenGL Performer Programming Interface|sgi_html/ch03.html
3|General Naming Conventions|sgi_html/ch03.html#LE23469-PARENT
4|Prefixes|sgi_html/ch03.html#id5194918
4|Header Files|sgi_html/ch03.html#id5194937
4|Naming in C and C++|sgi_html/ch03.html#id5195039
4|Abbreviations|sgi_html/ch03.html#id5195083
4|Macros, Tokens, and Enums|sgi_html/ch03.html#id5195117
3|Class API|sgi_html/ch03.html#LE68778-PARENT
4|O bject Creation|sgi_html/ch03.html#id5195226
4|Set Routines|sgi_html/ch03.html#id5195257
4|Get Routines|sgi_html/ch03.html#id5195283
5|Getting Current In-Use Values|sgi_html/ch03.html#id5195306
4|Action Routines|sgi_html/ch03.html#id5195391
4|Enable and Disable of Modes|sgi_html/ch03.html#id5195431
4|Mode, Attribute, or Value|sgi_html/ch03.html#id5195491
3|Base Clas ses|sgi_html/ch03.html#LE25785-PARENT
4|Inheritance Graph|sgi_html/ch03.html#id5195799
4|Libpr and Libpf Objects|sgi_html/ch03.html#id5195937
4|User Data|sgi_html/ch03.html#id5196035
4|pfDelete() and Reference Counting|sgi_html/ch03.html#LE37855-PARENT
4|Copying Objects with pfCopy()|sgi_html/ch03.html#id5197223
4|Printing Objec ts with pfPrint()|sgi_html/ch03.html#id5197344
4|Determining Ob ject Type|sgi_html/ch03.html#id5197621
2|Chapter 4. Introduction to OpenGL Performer Concepts|sgi_html/ch04.html
3|Scene-to-Screen Path|sgi_html/ch04.html#LE62833-PARENT
4|Scene Graph|sgi_html/ch04.html#id5197992
5|Scene Graph Hierarchy|sgi_html/ch04.html#id5198012
5|Scene Graph Traversers|sgi_html/ch04.html#id5198121
4|Channels|sgi_html/ch04.html#id5198188
5|Pipe and Window|sgi_html/ch04.html#id5198353
5|Starting the Stages|sgi_html/ch04.html#id5198528
5|Rendering the Scene|sgi_html/ch04.html#id5198673
5|Display Lists|sgi_html/ch04.html#id5198714
3|Parts of a Performer Application|sgi_html/ch04.html#LE90296-PARENT
4|Initializing Performer|sgi_html/ch04.html#id5198887
5|Shared Memory Arena|sgi_html/ch04.html#id5198938
4|Creating the Pipe, Channel, and Pipe Window|sgi_html/ch04.html#id5199002
4|Loading the Scene Graph|sgi_html/ch04.html#id5199033
4|Positioning the Channel|sgi_html/ch04.html#id5199062
4|Creating the Simulation Loop|sgi_html/ch04.html#id5199165
3|Inputting and Reading User Events|sgi_html/ch04.html#LE40999-PARENT
4|Implementing User Input with Window Events|sgi_html/ch04.html#id5199347
5|Initializing the Utility Library|sgi_html/ch04.html#id5199405
5|Enabling User Input|sgi_html/ch04.html#id5199429
4|Retrieving User Events|sgi_html/ch04.html#id5199526
2|Chapter 5. Creating a Display with pfChannel|sgi_html/ch05.html
3|Creating and Configuring a pfChannel|sgi_html/ch05.html#LE33835-PARENT
4|Acquiring a pfPipe|sgi_html/ch05.html#LE40397-PARENT
4|Creating a pfChannel Rendered by a pfPipe|sgi_html/ch05.html#LE33868-PARENT
4|Creating and Configuring a pfPipeWindow|sgi_html/ch05.html#LE25059-PARENT
4|Attaching a pfScene to the pfChannel|sgi_html/ch05.html#LE73977-PARENT
4|Configuring a Viewport for the pfChannel|sgi_html/ch05.html#LE15038-PARENT
4|Creating a Background for a pfChannel|sgi_html/ch05.html#id5200181
3|Initializing the pfChannel View|sgi_html/ch05.html#LE18203-PARENT
4|Bounding Volumes|sgi_html/ch05.html#id5200378
4|Defining the Viewing Frustum|sgi_html/ch05.html#LE62487-PARENT
5|Near and Far Clip Planes|sgi_html/ch05.html#LE59095-PARENT
5|Height and Width of the View Frustum|sgi_html/ch05.html#LE35954-PARENT
5|Direction and Position of the View|sgi_html/ch05.html#LE58500-PARENT
3|Channel Callbacks|sgi_html/ch05.html#LE76127-PARENT
4|Using Passthrough Data|sgi_html/ch05.html#id5200964
4|Channel Callback Example|sgi_html/ch05.html#id5201024
3|Using Multiple Channels|sgi_html/ch05.html#LE21249-PARENT
4|Grouping Channels|sgi_html/ch05.html#id5201158
4|Choosing the Attributes to Share|sgi_html/ch05.html#id5201219
5|Attribute Mask|sgi_html/ch05.html#id5201332
4|Using View Offsets|sgi_html/ch05.html#LE31975-PARENT
3|Multiple Pipes|sgi_html/ch05.html#LE41262-PARENT
4|Setting the Multiprocessing Configuration|sgi_html/ch05.html#id5201831
4|Creating Multiple pfPipes|sgi_html/ch05.html#id5201889
2|Chapter 6. Creating Scene Graphs|sgi_html/ch06.html
3|What Is a Node?|sgi_html/ch06.html#LE90359-PARENT
4|Node Attributes|sgi_html/ch06.html#id5202382
3|Scene Graph Nodes|sgi_html/ch06.html#LE18888-PARENT
4|Group Nodes|sgi_html/ch06.html#id5202595
5|OpenGL Performer Group Nodes|sgi_html/ch06.html#id5202672
4|Leaf Nodes|sgi_html/ch06.html#id5202913
3|Creating a Scene Graph|sgi_html/ch06.html#LE43814-PARENT
4|Creating and Attaching the pfScene Node|sgi_html/ch06.html#id5203075
4|Adding Nodes in a Scene Graph|sgi_html/ch06.html#id5203127
4|Removing Nodes from a Scene Graph|sgi_html/ch06.html#id5203256
4|Arrangement of Nodes|sgi_html/ch06.html#LE79281-PARENT
3|Loading a Scene Graph|sgi_html/ch06.html#LE28441-PARENT
4|Finding Scene Graph Files|sgi_html/ch06.html#id5203950
3|Saving a Scene Graph|sgi_html/ch06.html#LE55784-PARENT
3|Scene Graph Traversals|sgi_html/ch06.html#LE37245-PARENT
4|Pipelined Traversals|sgi_html/ch06.html#id5204387
4|Traversal Order|sgi_html/ch06.html#id5204575
3|Customizing OpenGL Performer Traversals|sgi_html/ch06.html#LE92580-PARENT
4|Setting Up Node Callbacks|sgi_html/ch06.html#id5204664
5|Passing Data to Traversal Callback Functions|sgi_html/ch06.html#id5204876
5|Return Values for Traversal Callback Functions|sgi_html/ch06.html#id5204947
4|Sample Customized Traversals|sgi_html/ch06.html#id5205018
2|Chapter 7. Creating Geometry with pfGeoSet|sgi_html/ch07.html
3|pfGeoSet Overview|sgi_html/ch07.html#LE63743-PARENT
3|Creating a pfGeoSet|sgi_html/ch07.html#LE70163-PARENT
4|Creating a pfGeoSet Object|sgi_html/ch07.html#id5206059
4|Setting the Primitive Type|sgi_html/ch07.html#id5206075
4|Setting the Number of Primitives|sgi_html/ch07.html#id5206362
4|Setting the Number of Vertices Per Stripped Primitive|sgi_html/ch07.html#id5206413
3|Attributes of pfGeoSet Primitives|sgi_html/ch07.html#LE88294-PARENT
4|Setting the Attributes|sgi_html/ch07.html#id5206748
4|Attribute Bindings|sgi_html/ch07.html#id5206877
4|Indexed Arr ays|sgi_html/ch07.html#LE25882-PARENT
4|Packed Attributes|sgi_html/ch07.html#LE24177-PARENT
4|Drawing and Printing a pfGeoSet|sgi_html/ch07.html#id5207697
3|Placing Geometry in a Scene Graph|sgi_html/ch07.html#LE22791-PARENT
3|Creating Common Geometric Objects|sgi_html/ch07.html#LE86542-PARENT
4|Utilities to Create Common Geometric Objects|sgi_html/ch07.html#id5208118
2|Chapter 8. Specifying the Appearance of Geometry with pfState and pfGeoState|sgi_html/ch08.html
3|Setting the Graphics State|sgi_html/ch08.html#LE55225-PARENT
4|Global State|sgi_html/ch08.html#id5208673
4|Defining a pfGeoState|sgi_html/ch08.html#id5208864
5|Setting pfGeoState Values for a Scene|sgi_html/ch08.html#id5208967
5|pfGeoStates and pfGeoSets|sgi_html/ch08.html#id5209002
5|Optimizing Graphics State Changes|sgi_html/ch08.html#id5209096
4|Setting Modal pfGeoState Values|sgi_html/ch08.html#id5209130
5|pfTransparency|sgi_html/ch08.html#LE25695-PARENT
5|pfDecal|sgi_html/ch08.html#LE57803-PARENT
5|pfAlphaFunc|sgi_html/ch08.html#LE34819-PARENT
5|Alpha Func Modes|sgi_html/ch08.html#id5210208
4|Setting pfGeoState Attributes|sgi_html/ch08.html#id5210428
3|Using Textures|sgi_html/ch08.html#LE17439-PARENT
4|Enabling Texture Mapping|sgi_html/ch08.html#id5211049
4|Creating a Texture Object|sgi_html/ch08.html#id5211131
4|Loading an Image as a Texture|sgi_html/ch08.html#id5211163
5|Preloading Textures|sgi_html/ch08.html#LE36933-PARENT
4|Specifying Texture Attribute|sgi_html/ch08.html#id5211341
4|Specifying Texture Formats|sgi_html/ch08.html#LE33295-PARENT
4|Setting the Texture Environment|sgi_html/ch08.html#id5211793
4|Setting the Texture Coordinates|sgi_html/ch08.html#id5211956
3|Specifying the Material|sgi_html/ch08.html#LE91014-PARENT
4|Specifying the Color and Shininess|sgi_html/ch08.html#id5212332
5|Color Mode|sgi_html/ch08.html#id5212475
5|Material Side|sgi_html/ch08.html#id5212519
3|Specifying Lighting|sgi_html/ch08.html#LE92684-PARENT
2|Chapter 9. Placing Geometry in a Scene|sgi_html/ch09.html
3|World Space and Object Space|sgi_html/ch09.html#LE74449-PARENT
4|Transformation Node Isolation|sgi_html/ch09.html#id5213239
4|World Space|sgi_html/ch09.html#id5213269
3|Transformation Nodes|sgi_html/ch09.html#LE54934-PARENT
4|Transformation Node Functionality|sgi_html/ch09.html#id5213393
4|Ordering Transformation Nodes in the Scene Graph|sgi_html/ch09.html#id5213412
3|Using pfFCS|sgi_html/ch09.html#LE32663-PARENT
4|pfFCS, pfFlux, and pfEngine Example|sgi_html/ch09.html#id5213594
3|Using DCS Nodes|sgi_html/ch09.html#LE95066-PARENT
4|Creating a DCS Node|sgi_html/ch09.html#id5213663
4|Setting the DCS Node|sgi_html/ch09.html#id5213678
5|Using pfDCSCoord|sgi_html/ch09.html#id5213734
4|Optimizing the Use of DCS Nodes|sgi_html/ch09.html#id5213765
3|Using SCS Nodes|sgi_html/ch09.html#LE73728-PARENT
4|Creating a SCS Node|sgi_html/ch09.html#id5213866
4|Setting the SCS Node|sgi_html/ch09.html#id5213889
5|Setting the First Transformation Matrix|sgi_html/ch09.html#id5213983
5|Setting the Remaining Transformation Matrices|sgi_html/ch09.html#id5214011
4|Optimizing SCS Transformations|sgi_html/ch09.html#id5214052
5|pfFlatten|sgi_html/ch09.html#id5214110
5|pfdCleanTree|sgi_html/ch09.html#LE23827-PARENT
2|Chapter 10. Controlling Frame Rate|sgi_html/ch10.html
3|Double Buffering|sgi_html/ch10.html#LE39832-PARENT
3|Specifying a Target Frame Rate|sgi_html/ch10.html#LE22667-PARENT
4|pfFrameRate|sgi_html/ch10.html#id5214650
4|pfFieldRate|sgi_html/ch10.html#id5214736
3|Frame Synchronization|sgi_html/ch10.html#LE94040-PARENT
4|Phase Control|sgi_html/ch10.html#id5214812
3|Adjusting the Frame Rate Automatically|sgi_html/ch10.html#LE50000-PARENT
4|Stress Filters|sgi_html/ch10.html#id5215013
4|Dynamic Video Resolution|sgi_html/ch10.html#id5215057
5|Setting the DVR Stress Filter|sgi_html/ch10.html#id5215127
2|Chapter 11. Multiprocessing|sgi_html/ch11.html
3|OpenGL Performer Stages|sgi_html/ch11.html#LE32057-PARENT
4|Optional, Asynchronous Stages|sgi_html/ch11.html#id5215431
5|ISECT Stage|sgi_html/ch11.html#id5215451
5|DBASE Stage|sgi_html/ch11.html#id5215495
5|COMPUTE Stage|sgi_html/ch11.html#id5215518
3|Benefits of Multiprocessing|sgi_html/ch11.html#LE73478-PARENT
3|Shared Memory|sgi_html/ch11.html#LE15518-PARENT
3|Printing Process States|sgi_html/ch11.html#LE28183-PARENT
3|Setting Up Multiprocessing|sgi_html/ch11.html#LE41362-PARENT
4|Multiprocessing Models|sgi_html/ch11.html#id5215819
5||sgi_html/ch11.html#id5216163
4|Common Multiprocessing Models|sgi_html/ch11.html#id5216207
4|Default Processing Models|sgi_html/ch11.html#id5216301
5|One pfPipe|sgi_html/ch11.html#id5216346
5|Multiple pfPipes|sgi_html/ch11.html#id5216509
4|Choosing a Multiprocessing Model|sgi_html/ch11.html#id5216525
3|Automatic Multiprocessing|sgi_html/ch11.html#LE16282-PARENT
2|Chapter 12. Database Paging|sgi_html/ch12.html
3|Anticipating Paging|sgi_html/ch12.html#LE97984-PARENT
3|Database Process|sgi_html/ch12.html#LE28386-PARENT
4|Handling Memory for the DBASE Process|sgi_html/ch12.html#id5216789
4|Changing the Scene Graph|sgi_html/ch12.html#id5216854
5|Caching Scene Graph Changes|sgi_html/ch12.html#id5216936
5|Linking Buffer Changes to the Scene Graph|sgi_html/ch12.html#id5217011
5|Deleting Old Data|sgi_html/ch12.html#id5217057
5|Merging Changes|sgi_html/ch12.html#id5217118
5|Cleaning Up the Cache|sgi_html/ch12.html#id5217243
2|Chapter 13. Intersection Testing|sgi_html/ch13.html
3|Creating an ISECT Process|sgi_html/ch13.html#LE59219-PARENT
3|Constructing a Segment Set for pfNodeIsectSegs()|sgi_html/ch13.html#LE23135-PARENT
4|Setting the Mode|sgi_html/ch13.html#id5217730
4|Intersection Masks|sgi_html/ch13.html#id5217948
4|Creating the Segment Array|sgi_html/ch13.html#id5218062
4|The pfSegSet Bound|sgi_html/ch13.html#id5218089
3|Testing for Intersections|sgi_html/ch13.html#LE90550-PARENT
4|Intersection Information|sgi_html/ch13.html#id5218232
5|Determining If a Segment Was Hit|sgi_html/ch13.html#id5218540
5|Testing for Valid Information|sgi_html/ch13.html#id5218559
5|Retrieving the Intersection Location|sgi_html/ch13.html#id5218698
2|Chapter 14. Creating a User Interface|sgi_html/ch14.html
3|Traveling through a Scene|sgi_html/ch14.html#LE37781-PARENT
4|Creating a Transformer|sgi_html/ch14.html#LE46932-PARENT
4|Initializing the Transformer|sgi_html/ch14.html#LE15635-PARENT
4|Setting Up Transformer Input and Output|sgi_html/ch14.html#LE41016-PARENT
4|Updating the Channel|sgi_html/ch14.html#LE10656-PARENT
4|Scaling the Motion|sgi_html/ch14.html#LE76949-PARENT
3|Example of Implementing User Interaction|sgi_html/ch14.html#LE26725-PARENT
2|Chapter 15. Optimizing Performance|sgi_html/ch15.html
3|General Performance Tips|sgi_html/ch15.html#LE80982-PARENT
4|Displaying Statistics|sgi_html/ch15.html#id5219983
4|Rendering the Statistics Tool|sgi_html/ch15.html#id5220155
4|Specifying the Statistics to Gather|sgi_html/ch15.html#id5220170
4|Reducing Bottlenecks|sgi_html/ch15.html#id5220430
3|Culling Unseen Shapes|sgi_html/ch15.html#LE65773-PARENT
4|CULL Process|sgi_html/ch15.html#id5220712
5|Evaluating Bounding Spheres|sgi_html/ch15.html#id5220738
5|Optimizing the CULL Process|sgi_html/ch15.html#id5220847
4|Face Culling|sgi_html/ch15.html#LE49153-PARENT
4|Rendering Slices of Shapes|sgi_html/ch15.html#LE86985-PARENT
5|Rotating the Slice|sgi_html/ch15.html#id5221126
3|Maintaining Frame Rate Using D VR|sgi_html/ch15.html#LE67379-PARENT
4|DVR Scaling|sgi_html/ch15.html#id5221305
3|Level of Detail Reduced for Performance|sgi_html/ch15.html#LE38093-PARENT
4|Choosing a Child Node Based on Range|sgi_html/ch15.html#id5221504
5|Setting the Range|sgi_html/ch15.html#id5221546
5|Disregarding LODs|sgi_html/ch15.html#id5221634
4|Transitioning Between Levels of Detail|sgi_html/ch15.html#id5221706
5|Enabling Fading|sgi_html/ch15.html#LE40254-PARENT
5|Customizing the Fade|sgi_html/ch15.html#LE95167-PARENT
4|Customizing LOD Actions|sgi_html/ch15.html#LE82222-PARENT
4|Scaling LOD Ranges|sgi_html/ch15.html#id5222055
4|Overriding Stress Effects|sgi_html/ch15.html#id5222087
4|Selecting LODs Based on Viewport|sgi_html/ch15.html#id5222164
3|Reducing System Stress|sgi_html/ch15.html#LE52240-PARENT
4|Setting the Stress Filter|sgi_html/ch15.html#id5222252
5|Stress Volatility|sgi_html/ch15.html#id5222356
5|Dividing Rendering Time|sgi_html/ch15.html#id5222395
5|Setting the Stress Value Explicitly|sgi_html/ch15.html#id5222452
3|Optimizing pfGeoSet Performance|sgi_html/ch15.html#LE35012-PARENT
3|Optimizing Graphics State Changes|sgi_html/ch15.html#LE20013-PARENT
4|Sharing Common pfGeoStates|sgi_html/ch15.html#id5222578
4|Computing the Optimal, Global Graphics State|sgi_html/ch15.html#LE39901-PARENT
3|Optimizing Texture Handling|sgi_html/ch15.html#LE15824-PARENT
3|Optimizing File Loading|sgi_html/ch15.html#LE31700-PARENT
4|pfconv|sgi_html/ch15.html#id5222878
4|pficonv|sgi_html/ch15.html#id5222960
1|Appendix A. Building a Visual Simulation Application Using libpf|sgi_html/apa.html
2|Overview|sgi_html/apa.html#id5223100
2|Setting Up the Basic Elements|sgi_html/apa.html#id5224061
3|Using OpenGL Performer Header Files|sgi_html/apa.html#id5224075
3|Initializing and Configuring OpenGL Performer|sgi_html/apa.html#LE63889-PARENT
4|Initializing Shared Memory|sgi_html/apa.html#id5224249
4|Initializing Processes|sgi_html/apa.html#id5224326
3|Setti ng Up a Pipe|sgi_html/apa.html#id5224536
3|Frame Rate and Synchronization|sgi_html/apa.html#LE26044-PARENT
3|Setting Up a Channel|sgi_html/apa.html#id5224969
3|Creating and Loading a Scene Graph|sgi_html/apa.html#id5225061
4|Creating a Database|sgi_html/apa.html#id5225089
4|Setting the Search Path for Database Files|sgi_html/apa.html#LE28557-PARENT
3|Simulation Loop|sgi_html/apa.html#id5225460
2|Performance|sgi_html/apa.html#id5225706
2|Compiling and Linking OpenGL Performer Applications|sgi_html/apa.html#LE88354-PARENT
3|Required Libraries|sgi_html/apa.html#id5225803
3|Dynamic Shared Objects (DSOs)|sgi_html/apa.html#id5226380
3|Debug and Static Libraries|sgi_html/apa.html#id5226442
3|Using Compiler Flags|sgi_html/apa.html#id5226508
3|MIPS-3, MIPS-4, and 64-Bit Compilation|sgi_html/apa.html#id5226642
3|Using OpenGL Performer From C++|sgi_html/apa.html#id5226735
1|Appendix B. Building a Visual Simulation Application Using libpfv|sgi_html/apb.html
2|Overview|sgi_html/apb.html#LE24127-PARENT
2|The Simplest pfvViewer Program|sgi_html/apb.html#LE32334-PARENT
2|Adding Interaction to a pfvViewer Program|sgi_html/apb.html#LE14996-PARENT
2|Reading XML Configuration Files|sgi_html/apb.html#LE26138-PARENT
2|Module Scoping, Multiple Worlds and Multiple Views|sgi_html/apb.html#LE16445-PARENT
2|Extending a pfvViewer&#8212;Writing Custom Modules|sgi_html/apb.html#LE41867-PARENT
2| Extending a pfvViewer&#8212;Module Entry Points|sgi_html/apb.html#LE38465-PARENT
2|Picking, Selection, and Interaction|sgi_html/apb.html#LE35452-PARENT
2|More Sample Programs, Configuration Files, and Source Code|sgi_html/apb.html#LE25298-PARENT
1|Appendix C. Image Gallery|sgi_html/apc.html
1|Glossary|sgi_html/go01.html
1|Index|sgi_html/ix01.html
# figures |
5|Figure 1-1. Section of the New Jerusalem City Hall|sgi_html/ch01.html#id5178226
4|Figure 2-1. OpenGL Performer Library Hierarchy|sgi_html/ch02.html#id5189151
6|Figure 2-2. Parallel Pipeline Processes|sgi_html/ch02.html#id5190337
5|Figure 2-3. Relationship of OpenGL Performer to Database Formats|sgi_html/ch02.html#id5191801
5|Figure 3-1. Partial Inheritance Graph of OpenGL Performer Data Types|sgi_html/ch03.html#id5195831
4|Figure 4-1. Data-to-Display|sgi_html/ch04.html#id5197971
6|Figure 4-2. Scene Graph Hierarchy|sgi_html/ch04.html#id5198028
5|Figure 4-3. Camera with Viewing Volume|sgi_html/ch04.html#id5198228
6|Figure 4-4. Multiprocessing Frames in the Pipe|sgi_html/ch04.html#id5198439
5|Figure 4-5. Simulation Loop|sgi_html/ch04.html#id5199206
3|Figure 5-1. Multiple Windows, Multiple Channels|sgi_html/ch05.html#id5199733
4|Figure 5-2. Bounding Sphere|sgi_html/ch05.html#id5200291
5|Figure 5-3. Viewing Frustum|sgi_html/ch05.html#id5200480
6|Figure 5-4. Heading, Pitch, and Roll Values|sgi_html/ch05.html#id5200756
4|Figure 5-5. Multiple Channels|sgi_html/ch05.html#id5201116
5|Figure 5-6. Axes Orientation in Performer|sgi_html/ch05.html#id5201754
4|Figure 5-7. Pipe Stages|sgi_html/ch05.html#id5201810
5|Figure 6-1. Multiple Parent Nodes|sgi_html/ch06.html#id5202631
4|Figure 6-2. Loading Scene Graphs|sgi_html/ch06.html#id5203580
5|Figure 6-3. Processes Acting on Scene Graph|sgi_html/ch06.html#id5204553
5|Figure 6-4. Scene Graph Traversal Flow|sgi_html/ch06.html#id5204610
5|Figure 7-1. Primitives|sgi_html/ch07.html#id5206330
4|Figure 7-2. Arrays of Stripped Primitives|sgi_html/ch07.html#id5206703
5|Figure 7-3. Indexing Arrays|sgi_html/ch07.html#id5207342
5|Figure 7-4. Deciding whether to Index Attributes|sgi_html/ch07.html#id5207435
4|Figure 7-5. Geometry Objects|sgi_html/ch07.html#id5207928
4|Figure 8-1. Applying Textures to Geometries|sgi_html/ch08.html#id5210957
5|Figure 8-2. Texture Coordinates|sgi_html/ch08.html#id5211999
4|Figure 8-3. Light Characteristics|sgi_html/ch08.html#id5212311
4|Figure 9-1. Shared Space|sgi_html/ch09.html#id5213218
5|Figure 9-2. Order of Transformations|sgi_html/ch09.html#id5213433
4|Figure 9-3. pfEngine Drives a pfFlux Node Animating a pfFCS Node|sgi_html/ch09.html#id5213542
6|Figure 9-4. pfFlatten|sgi_html/ch09.html#id5214176
6|Figure 9-5. pfdCleanTree|sgi_html/ch09.html#id5214286
4|Figure 10-1. Double Buffering|sgi_html/ch10.html#id5214553
5|Figure 10-2. Frame Rate|sgi_html/ch10.html#id5214684
5|Figure 10-3. Phase Control over Three Frames|sgi_html/ch10.html#id5214927
4|Figure 11-1. OpenGL Performer Stages|sgi_html/ch11.html#id5215404
4|Figure 11-2. Multiprocessing in the Graphics Pipeline|sgi_html/ch11.html#id5215570
4|Figure 11-3. Shared Memory Arena|sgi_html/ch11.html#id5215687
6|Figure 11-4. PFMP_CULLoDRAW|sgi_html/ch11.html#id5216183
5|Figure 11-5. Four Common Multiprocessing Models|sgi_html/ch11.html#id5216222
4|Figure 12-1. Memory Pages|sgi_html/ch12.html#id5216693
6|Figure 12-2. Creating the Buffer and Changes|sgi_html/ch12.html#id5216989
6|Figure 12-3. Linking and Deleting Nodes|sgi_html/ch12.html#id5217088
6|Figure 12-4. Merging Scene Graph Changes|sgi_html/ch12.html#id5217196
3|Figure 13-1. Approximating a Shape with Segments|sgi_html/ch13.html#id5217423
4|Figure 13-2. Hits Array|sgi_html/ch13.html#id5218206
5|Figure 14-1. Shared Memory Arena|sgi_html/ch14.html#id5219047
5|Figure 15-1. Statistics Display|sgi_html/ch15.html#id5220080
5|Figure 15-2. Various Statistical Modes|sgi_html/ch15.html#id5220113
6|Figure 15-3. Culling Process|sgi_html/ch15.html#id5220825
4|Figure 15-4. Real Size of Viewport Rendered under Increasing Stress|sgi_html/ch15.html#id5221276
5|Figure 15-5. pfLOD Ranges|sgi_html/ch15.html#id5221764
2|Figure C-1. Simulated View of an Atrium|sgi_html/apc.html#id5229530
2|Figure C-2. Another Simulated View of the Atrium|sgi_html/apc.html#id5229612
2|Figure C-3. Simulated View of a Castle|sgi_html/apc.html#id5229654
2|Figure C-4. Simulated Hallway View|sgi_html/apc.html#id5229718
2|Figure C-5. Simulated Hotel Lobby|sgi_html/apc.html#id5229759
2|Figure C-6. Simulated Waiting Room|sgi_html/apc.html#id5229800
2|Figure C-7. Simulated Conference Room|sgi_html/apc.html#id5229879
2|Figure C-8. Parliament Stairway|sgi_html/apc.html#id5229918
2|Figure C-9. Unity Temple Interior|sgi_html/apc.html#id5230036
2|Figure C-10. Yosemite|sgi_html/apc.html#id5230101
2|Figure C-11. DI-Guy|sgi_html/apc.html#id5230139
2|Figure C-12. Palace|sgi_html/apc.html#id5230174
2|Figure C-13. Seattle-Tacoma International Airport|sgi_html/apc.html#id5230209
2|Figure C-14. Hasparen|sgi_html/apc.html#id5230265
2|Figure C-15. Clouds|sgi_html/apc.html#id5230299
2|Figure C-16. Ocean and Marine Effects Simulation|sgi_html/apc.html#id5230386
2|Figure C-17. Night Image|sgi_html/apc.html#id5230429
# tables |
4|Table 2-1. OpenGL Performer Libraries|sgi_html/ch02.html#id5188380
5|Table 3-1. Routines that Modify libpr Object Reference Counts|sgi_html/ch03.html#id5196262
6|Table 4-1. Traversals Launched|sgi_html/ch04.html#id5198546
6|Table 5-1. pfChannel Attributes|sgi_html/ch05.html#id5201347
4|Table 6-1. Examples of Node Fields|sgi_html/ch06.html#id5202160
4|Table 6-2. Supported Scene Graph File Formats|sgi_html/ch06.html#id5203663
5|Table 6-3. General User Traversals|sgi_html/ch06.html#id5205122
5|Table 7-1. Possible Bindings Per Attribute Type|sgi_html/ch07.html#id5207030
5|Table 7-2. Common Geometric Objects|sgi_html/ch07.html#id5208159
5|Table 8-1. Graphic States|sgi_html/ch08.html#id5209185
5|Table 8-2. Attribute pfGeoState Values|sgi_html/ch08.html#id5210516
5|Table 11-1. Multiprocessing Tokens|sgi_html/ch11.html#id5215835
6|Table 11-2. Default Multiprocessing Models|sgi_html/ch11.html#id5216364
5|Table 13-1. Segment Set Modes|sgi_html/ch13.html#id5217749
5|Table 13-2. Hit Information|sgi_html/ch13.html#id5218299
5|Table 15-1. Statistics Class Table|sgi_html/ch15.html#id5220246
# examples |
5|Example 3-1. How to Use User Data|sgi_html/ch03.html#LE74828-PARENT
5|Example 3-2. Objects and Reference Counts|sgi_html/ch03.html#LE55683-PARENT
5|Example 3-3. Using pfDelete() with libpr Objects|sgi_html/ch03.html#LE12730-PARENT
5|Example 3-4. Using pfDelete() with libpf Objects|sgi_html/ch03.html#LE35315-PARENT
5|Example 3-5. Using pfCopy()|sgi_html/ch03.html#LE97628-PARENT
5|Example 3-6. General-Purpose Scene Graph Traverser|sgi_html/ch03.html#LE45205-PARENT
5|Example 4-1. Synchronization Loop|sgi_html/ch04.html#LE71612-PARENT
5|Example 4-2. Handling Keyboard Input|sgi_html/ch04.html#LE93886-PARENT
5|Example 5-1. Channel Callback Using Passthrough Data|sgi_html/ch05.html#LE91059-PARENT
5|Example 9-1. Connecting Engines and Fluxes|sgi_html/ch09.html#LE53363-PARENT
4|Example 14-1. Implementing User Interaction|sgi_html/ch14.html#LE28202-PARENT
3|Example A-1. Structure of an OpenGL Performer Application|sgi_html/apa.html#LE26493-PARENT
4|Example A-2. pfStageConfigFunc() Callback|sgi_html/apa.html#LE33887-PARENT
4|Example A-3. Sample OpenPipeline() Routine|sgi_html/apa.html#LE78943-PARENT
# procedures |
# helpids |

