# defaults |
0|OpenGL Performer&#8482;  Programmer's 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|Why Use OpenGL Performer?|sgi_html/pr02.html#id5179137
2|What You Should Know Before Reading This Guide|sgi_html/pr02.html#id5179369
2|How to Use This Guide|sgi_html/pr02.html#id5179410
3|What This Guide Contains|sgi_html/pr02.html#id5179444
3|Sample Applications|sgi_html/pr02.html#id5179838
3|Conventions|sgi_html/pr02.html#id5179877
2|Internet and Hardcopy Reading for the OpenGL Performer Series|sgi_html/pr02.html#id5180006
2|Reader Comments|sgi_html/pr02.html#id5177378
1|Chapter 1. OpenGL Performer Programming Interface|sgi_html/ch01.html
2|General Naming Conventions|sgi_html/ch01.html#LE23469-PARENT
3|Prefixes|sgi_html/ch01.html#id5177574
3|Header Files|sgi_html/ch01.html#id5177629
3|Naming in C and C++|sgi_html/ch01.html#id5177716
3|Abbreviations|sgi_html/ch01.html#id5177783
3|Macros, Tokens, and Enums|sgi_html/ch01.html#id5177848
2|Class API|sgi_html/ch01.html#LE68778-PARENT
3|O bject Creation|sgi_html/ch01.html#id5177926
3|Set Routines|sgi_html/ch01.html#id5177962
3|Get Routines|sgi_html/ch01.html#id5177992
4|Getting Current In-Use Values|sgi_html/ch01.html#id5178016
3|Action Routines|sgi_html/ch01.html#id5178071
3|Enable and Disable of Modes|sgi_html/ch01.html#id5178114
3|Mode, Attribute, or Value|sgi_html/ch01.html#id5178152
2|Base Classes|sgi_html/ch01.html#LE25785-PARENT
3|Inheritance Graph|sgi_html/ch01.html#id5178442
3|libpr and libpf Objects|sgi_html/ch01.html#id5178570
3|User Data|sgi_html/ch01.html#id5187703
3|pfDelete() and Reference Counting|sgi_html/ch01.html#LE37855-PARENT
3|Copying Objects with pfCopy()|sgi_html/ch01.html#id5188791
3|Printing Objec ts with pfPrint()|sgi_html/ch01.html#id5188906
3|Determining Ob ject Type|sgi_html/ch01.html#id5189178
1|Chapter 2. Setting Up the Display Environment|sgi_html/ch02.html
2|Using Pipes|sgi_html/ch02.html#LE45430-PARENT
3|The Functional Stages of a Pipeline|sgi_html/ch02.html#id5189853
3|Creating and Configuring a pfPipe|sgi_html/ch02.html#id5190104
3|Example of pfPipe Use|sgi_html/ch02.html#id5190565
2|Using Channels|sgi_html/ch02.html#LE69820-PARENT
3|Creating and Configuring a pfChannel|sgi_html/ch02.html#LE73120-PARENT
3|Setting Up a Scene|sgi_html/ch02.html#id5190964
3|Setting Up a Viewport|sgi_html/ch02.html#id5191134
3|Setting Up a Viewing Frustum|sgi_html/ch02.html#id5191234
4|Field&#8211;of&#8211;View|sgi_html/ch02.html#id5191441
4|Clipping Planes|sgi_html/ch02.html#id5191515
3|Setting Up a Viewpoint|sgi_html/ch02.html#id5191592
3|Example of Channel Use|sgi_html/ch02.html#id5192323
2|Controlling the Video Output|sgi_html/ch02.html#LE77886-PARENT
2|Using Multiple Channels|sgi_html/ch02.html#LE27734-PARENT
3|One Window per Pipe, Multiple Channels per Window|sgi_html/ch02.html#id5192727
2|Using Channel Groups|sgi_html/ch02.html#LE12587-PARENT
3|Multiple Channels and Multiple Windows|sgi_html/ch02.html#id5193925
2|Importing OpenGL Multipipe SDK (MPK) Configuration Files|sgi_html/ch02.html#LE15174-PARENT
1|Chapter 3. Nodes and Node Types|sgi_html/ch03.html
2|Nodes|sgi_html/ch03.html#LE88314-PARENT
3|Attribute Inheritance|sgi_html/ch03.html#id5195148
4|pfNode|sgi_html/ch03.html#id5195178
3|pfNode|sgi_html/ch03.html#LE71589-PARENT
4|pfNode Attributes|sgi_html/ch03.html#id5196148
4|pfNode Operations|sgi_html/ch03.html#id5196340
4|An Example of Scene Creation|sgi_html/ch03.html#id5196497
3|pfGroup|sgi_html/ch03.html#id5196578
2|Working with Nodes|sgi_html/ch03.html#LE43602-PARENT
3|Instancing|sgi_html/ch03.html#LE66595-PARENT
4|Shared Instancing|sgi_html/ch03.html#id5197273
4|Cloned Instancing|sgi_html/ch03.html#id5197360
3|Bounding Volumes|sgi_html/ch03.html#LE57136-PARENT
2|Node Types|sgi_html/ch03.html#LE20344-PARENT
3|pfScene Nodes|sgi_html/ch03.html#LE72214-PARENT
4|pfScene Default Rendering State|sgi_html/ch03.html#id5198044
3|pfSCS Nodes|sgi_html/ch03.html#LE57428-PARENT
3|pfDCS Nodes|sgi_html/ch03.html#LE23947-PARENT
3|pfFCS Nodes|sgi_html/ch03.html#id5198874
3|pfDoubleSCS Nodes|sgi_html/ch03.html#id5199061
3|pfDoubleDCS Nodes|sgi_html/ch03.html#LE24884-PARENT
3|pfDoubleFCS Nodes|sgi_html/ch03.html#id5199588
3|pfSwitch Nodes|sgi_html/ch03.html#id5199638
3|pfSequence Nodes|sgi_html/ch03.html#LE69049-PARENT
3|pfLOD Nodes|sgi_html/ch03.html#LE38460-PARENT
3|pfASD Nodes|sgi_html/ch03.html#id5200788
3|pfLayer Nodes|sgi_html/ch03.html#id5200808
3|pfGeode Nodes|sgi_html/ch03.html#LE67602-PARENT
3|pfText Nodes|sgi_html/ch03.html#id5201737
3|pfBillboard Nodes|sgi_html/ch03.html#LE28360-PARENT
3|pfPartition Nodes|sgi_html/ch03.html#id5202834
2|Sample Program|sgi_html/ch03.html#id5203407
1|Chapter 4. Database Traversal|sgi_html/ch04.html
2|Scene Graph Hierarchy|sgi_html/ch04.html#LE54484-PARENT
3|Database Traversals|sgi_html/ch04.html#LE79088-PARENT
3|State Inheritance|sgi_html/ch04.html#id5204684
3|Database Organization|sgi_html/ch04.html#id5204862
2|Application Traversal|sgi_html/ch04.html#id5204914
2|Cull Traversal|sgi_html/ch04.html#LE74200-PARENT
3|Traversal Order|sgi_html/ch04.html#LE81519-PARENT
3|Visibility Culling|sgi_html/ch04.html#id5205579
4|Hierarchical Bounding Volumes|sgi_html/ch04.html#id5205613
4|Visibility Testing|sgi_html/ch04.html#id5205733
4|Visibility Culling Example|sgi_html/ch04.html#id5205876
3|Organizing a Database for Efficient Culling|sgi_html/ch04.html#LE98496-PARENT
4|Custom Visibility Culling|sgi_html/ch04.html#id5206122
3|Sorting the Scene|sgi_html/ch04.html#LE60920-PARENT
3|Paths through the Scene Graph|sgi_html/ch04.html#LE83289-PARENT
2|Draw Traversal|sgi_html/ch04.html#id5207018
3|Optimizing the Drawing of Sub-bins|sgi_html/ch04.html#id5207060
3|Bin Draw Callbacks|sgi_html/ch04.html#id5207126
2|Controlling and Customizing Traversals|sgi_html/ch04.html#LE32831-PARENT
3|pfChannel Traversal Modes|sgi_html/ch04.html#LE89596-PARENT
3|Cull Programs|sgi_html/ch04.html#LE18817-PARENT
4|The pfCullProgram Class|sgi_html/ch04.html#LE37943-PARENT
4|Polytopes|sgi_html/ch04.html#LE26840-PARENT
4|Predefined Cull Program Instructions|sgi_html/ch04.html#LE23218-PARENT
4|User-Defined Cull Program Instructions|sgi_html/ch04.html#LE40848-PARENT
4|Cull Traversal|sgi_html/ch04.html#LE10636-PARENT
4|Occlusion Culling Using Cull Programs|sgi_html/ch04.html#LE42762-PARENT
4|Small-Feature Culling Using Cull Programs|sgi_html/ch04.html#LE25148-PARENT
3|pfNode Draw Mask|sgi_html/ch04.html#id5209802
3|pfNode Cull and Draw Callbacks|sgi_html/ch04.html#LE91188-PARENT
2|Process Callbacks|sgi_html/ch04.html#LE90303-PARENT
3|Process Callbacks and Passthrough Data|sgi_html/ch04.html#LE82734-PARENT
2|Intersection Traversal|sgi_html/ch04.html#LE90544-PARENT
3|Testing Line Segment Intersections|sgi_html/ch04.html#id5211633
3|Intersection Requests: pfSegSets|sgi_html/ch04.html#LE30223-PARENT
3|Intersection Return Data: pfHit Objects|sgi_html/ch04.html#LE79108-PARENT
3|Intersection Masks|sgi_html/ch04.html#id5212430
4|Setting the Intersection Mask|sgi_html/ch04.html#id5212509
4|Specifying Different Classes of Geometry|sgi_html/ch04.html#id5212576
3|Discriminator Callbacks|sgi_html/ch04.html#id5212930
3|Line Segment Clipping|sgi_html/ch04.html#id5213198
3|Traversing Special Nodes|sgi_html/ch04.html#id5213283
3|Picking|sgi_html/ch04.html#id5213306
3|Performance|sgi_html/ch04.html#LE13946-PARENT
4|Performance Trade-offs|sgi_html/ch04.html#id5213470
4|Front Face/Back Face|sgi_html/ch04.html#id5213488
4|Enabling Caching|sgi_html/ch04.html#id5213514
3|Intersection Methods for Segments|sgi_html/ch04.html#id5213628
1|Chapter 5. Frame and Load Control|sgi_html/ch05.html
2|Frame Rate Management|sgi_html/ch05.html#id5213795
3|Selecting the Frame Rate|sgi_html/ch05.html#id5213943
3|Achieving the Frame Rate|sgi_html/ch05.html#LE26695-PARENT
3|Fixing the Frame Rate|sgi_html/ch05.html#id5214108
4|Frame Synchronization|sgi_html/ch05.html#id5214632
4|Free-Running Frame-Rate Control|sgi_html/ch05.html#LE75264-PARENT
4|Fixed Frame-Rate Control|sgi_html/ch05.html#id5214934
4|Frame Skipping|sgi_html/ch05.html#id5215037
4|Sample Code|sgi_html/ch05.html#id5215127
2|Level-of-Detail Management|sgi_html/ch05.html#LE83221-PARENT
3|Level-of-Detail Models|sgi_html/ch05.html#id5215285
3|Level-of-Detail States|sgi_html/ch05.html#LE64021-PARENT
3|Level-of-Detail Range Processing|sgi_html/ch05.html#LE81400-PARENT
3|Level-of-Detail Transition Blending|sgi_html/ch05.html#LE72316-PARENT
3|Run-Time User Control Over LOD Evaluation|sgi_html/ch05.html#id5216390
3|Terrain Level-of-Detail|sgi_html/ch05.html#LE70473-PARENT
4|Active Surface Definiton (ASD)|sgi_html/ch05.html#id5216538
4|Arbitrary Morphing|sgi_html/ch05.html#id5216608
2|Maintaining Frame Rate Using D ynamic Vid eo Res olution|sgi_html/ch05.html#id5216694
3|The Channel in DVR|sgi_html/ch05.html#id5216893
3|DVR Scaling|sgi_html/ch05.html#id5217066
3|Customizing DVR|sgi_html/ch05.html#id5217164
3|Understanding the Stre ss Filter|sgi_html/ch05.html#id5217526
2|Dynamic Load Management|sgi_html/ch05.html#LE58733-PARENT
2|Successful Multiprocessing with OpenGL Performer|sgi_html/ch05.html#LE42517-PARENT
3|Review of Rendering Stages|sgi_html/ch05.html#id5218085
3|Choosing a Multiprocessing Model|sgi_html/ch05.html#id5218261
4|Cull-Overlap-Draw Mode|sgi_html/ch05.html#LE18382-PARENT
4|Forcing Display List Generation|sgi_html/ch05.html#id5218800
4|Intersection Pipeline|sgi_html/ch05.html#id5218979
4|Compute Process|sgi_html/ch05.html#id5219111
4|Multiple Rendering Pipelines|sgi_html/ch05.html#id5219229
4|Multithreading|sgi_html/ch05.html#id5219439
4|CULL Sidekick Processes|sgi_html/ch05.html#id5219513
4|Order of Calls|sgi_html/ch05.html#id5219670
4|Comparative Structure of Models|sgi_html/ch05.html#id5219900
3|Asynchronous Database Processing|sgi_html/ch05.html#id5220141
4|DBASE Process|sgi_html/ch05.html#id5220225
4|pfBuffer|sgi_html/ch05.html#id5220387
4|pfAsyncDelete|sgi_html/ch05.html#id5220798
3|Placing Multiple OpenGL Performer Processes on a Single CPU|sgi_html/ch05.html#id5220951
3|Rules for Invoking Functions While Multiprocessing|sgi_html/ch05.html#id5221057
3|Multiprocessing and Memory|sgi_html/ch05.html#LE10268-PARENT
3|Shared Memory and pfInit()|sgi_html/ch05.html#id5222338
3|pfDataPools|sgi_html/ch05.html#LE38950-PARENT
3|Passthrough Data|sgi_html/ch05.html#id5222658
2|CULL Process Optimizations|sgi_html/ch05.html#id5222984
3|Cull Sidekick Processes|sgi_html/ch05.html#LE41084-PARENT
3|Configuring CULL_SIDEKICK Processes|sgi_html/ch05.html#id5223278
3|CULL Sidekick Optimization Mask|sgi_html/ch05.html#id5223320
3|CULL Sidekick Synchronization Policy|sgi_html/ch05.html#id5223396
3|CULL Sidekick User Functions|sgi_html/ch05.html#id5223552
3|Modifying Attributes of Cloned pfGeoSets|sgi_html/ch05.html#id5223739
3|Marking pfGeoSets for Optimization|sgi_html/ch05.html#id5224039
1|Chapter 6. Creating Visual Effects|sgi_html/ch06.html
2|Using pfEarthSky|sgi_html/ch06.html#LE15637-PARENT
2|Atmospheric Effects|sgi_html/ch06.html#LE80433-PARENT
2|Patchy Fog and Layered Fog|sgi_html/ch06.html#LE40403-PARENT
3|Creating Layered Fog|sgi_html/ch06.html#LE34321-PARENT
3|Creating Patchy Fog|sgi_html/ch06.html#id5225678
3|Initializing a pfVolFog|sgi_html/ch06.html#id5225752
3|Updating the View|sgi_html/ch06.html#id5227750
3|Drawing a Scene with Fog|sgi_html/ch06.html#id5227917
3|Deleting a pfVolFog|sgi_html/ch06.html#id5227983
3|Specifying Fog Parameters|sgi_html/ch06.html#id5228011
4|Layered Fog|sgi_html/ch06.html#id5228022
4|Patchy Fog|sgi_html/ch06.html#id5228248
3|Advanced Features of Layered Fog and Patchy Fog|sgi_html/ch06.html#id5228436
4|Enabling Self-Shadowing of a Layered Fog and Scene Darkening|sgi_html/ch06.html#LE25944-PARENT
4|Animating Patchy Fog|sgi_html/ch06.html#LE28395-PARENT
4|Selecting a Different Type of Patchy Fog Algorithm|sgi_html/ch06.html#LE41661-PARENT
4|Simulating Self-Shadowing in Patchy Fog|sgi_html/ch06.html#LE23803-PARENT
4|Layered Patchy Fog|sgi_html/ch06.html#LE34120-PARENT
4|Light Shafts|sgi_html/ch06.html#LE15960-PARENT
3|Performance Considerations and Limitations|sgi_html/ch06.html#id5228904
2|Real-Time Shadows|sgi_html/ch06.html#LE24299-PARENT
3|Creating a pfShadow|sgi_html/ch06.html#LE32570-PARENT
3|Drawing a Scene with Shadows|sgi_html/ch06.html#LE11336-PARENT
3|Specifying Shadow Parameters|sgi_html/ch06.html#LE15860-PARENT
3|Assigning Data with Directions|sgi_html/ch06.html#LE42043-PARENT
3|Limitations of Real-Time Shadows|sgi_html/ch06.html#LE17261-PARENT
2|Image-Based Rendering|sgi_html/ch06.html#LE16208-PARENT
3|Creating a pfIBRnode|sgi_html/ch06.html#LE10498-PARENT
3|Creating a pfIBRnode Using a Proxy|sgi_html/ch06.html#LE24591-PARENT
3|Creating a pfIBRtexture|sgi_html/ch06.html#LE31053-PARENT
3|Parameters Controlling Drawing of a pfIBRnode|sgi_html/ch06.html#LE13264-PARENT
3|The Simplify Application|sgi_html/ch06.html#LE33369-PARENT
4|The Simplify Graphical User Interface (GUI)|sgi_html/ch06.html#id5231775
4|Making a Proxy of an Object|sgi_html/ch06.html#id5231877
4|Simplifying an Object|sgi_html/ch06.html#id5232260
3|Creating Images of an Object with makeProxyImages|sgi_html/ch06.html#LE36227-PARENT
4|Command-Line Options for makeProxyImages|sgi_html/ch06.html#id5232603
4|Packing Additional Textures Pieces|sgi_html/ch06.html#LE28995-PARENT
4|Fine Tuning Texture Rendering|sgi_html/ch06.html#LE18444-PARENT
4|Potential Problems|sgi_html/ch06.html#LE20876-PARENT
3|Creating Images of an Object with makeIBRimages|sgi_html/ch06.html#LE27567-PARENT
3|Limitations|sgi_html/ch06.html#LE37332-PARENT
1|Chapter 7. Importing Databases|sgi_html/ch07.html
2|Overview of OpenGL Performer Database Creation and Conversion|sgi_html/ch07.html#id5233703
2|libpfdu - Utilities for Creating Efficient OpenGL Performer Run-Time Structures|sgi_html/ch07.html#id5233943
3|pfdLoadFile - Loading Arbitrary Databases into OpenGL Performer|sgi_html/ch07.html#id5234045
4|Loading Process Internals|sgi_html/ch07.html#id5234479
4|Loader Name|sgi_html/ch07.html#id5234631
4|Shell Environment Variables|sgi_html/ch07.html#id5234830
3|Database Loading Details|sgi_html/ch07.html#LE98350-PARENT
4|Finding and initializing a Converter|sgi_html/ch07.html#id5235613
2|Developing Custom Importers|sgi_html/ch07.html#LE58045-PARENT
3|Structure and Interpretation of the Database File Format|sgi_html/ch07.html#id5235990
3|Scene Graph Creation Using Nodes as Defined in libpf|sgi_html/ch07.html#id5236074
3|Defining Geometry and Graphics State for libpr|sgi_html/ch07.html#id5236112
3|Creating an OpenGL Performer Database Converter using libpfdu|sgi_html/ch07.html#id5236202
2|Maximizing Database Loading and Paging Performance with PFB and PFI Formats|sgi_html/ch07.html#id5237573
3|pfconv|sgi_html/ch07.html#id5237671
4|Example Conversion|sgi_html/ch07.html#id5237755
3|pficonv|sgi_html/ch07.html#id5237807
2|Supported Database Formats|sgi_html/ch07.html#id5237852
2|Description of Supported Formats|sgi_html/ch07.html#LE21144-PARENT
3|AutoDesk 3DS Format|sgi_html/ch07.html#id5238669
3|SGI BIN Format|sgi_html/ch07.html#id5238752
3|Side Effects POLY Format|sgi_html/ch07.html#id5238941
3|Brigham Young University BYU Format|sgi_html/ch07.html#id5239110
3|Optimizer CSB Format|sgi_html/ch07.html#id5239296
3|Virtual Cliptexture CT Loader|sgi_html/ch07.html#id5239312
3|Designer's Workbench DWB Format|sgi_html/ch07.html#id5239326
3|AutoCAD DXF Format|sgi_html/ch07.html#id5239526
3|MultiGen OpenFlight Format|sgi_html/ch07.html#id5239819
3|McDonnell-Douglas GDS Format|sgi_html/ch07.html#id5240072
3|SGI GFO Format|sgi_html/ch07.html#id5240249
3|SGI IM Format|sgi_html/ch07.html#id5240444
3|AAI/Graphicon IRTP Format|sgi_html/ch07.html#id5240550
3|SGI Open Inventor Format|sgi_html/ch07.html#LE29600-PARENT
3|Lightscape Technologies LSA and LSB Formats|sgi_html/ch07.html#LE87317-PARENT
3|Medit Productions MEDIT Format|sgi_html/ch07.html#id5241493
3|NFF Neutral File Format|sgi_html/ch07.html#id5241551
3|Wavefront Technology OBJ Format|sgi_html/ch07.html#id5241705
3|SGI PFB Format|sgi_html/ch07.html#id5241867
4|Converting to the PFB Format|sgi_html/ch07.html#id5241936
3|SGI PFI Format|sgi_html/ch07.html#id5241974
4|Creating PFI Files|sgi_html/ch07.html#id5242001
3|SGI PHD Format|sgi_html/ch07.html#LE21909-PARENT
3|SGI PTU Format|sgi_html/ch07.html#id5242375
3|ArchVision RPC Format|sgi_html/ch07.html#id5242691
3|USNA Standard Graphics Format|sgi_html/ch07.html#id5243595
3|SGI SGO Format|sgi_html/ch07.html#id5243711
3|USNA Simple Polygon File Format|sgi_html/ch07.html#id5244408
3|Sierpinski Sponge Loader|sgi_html/ch07.html#LE40312-PARENT
3|Star Chart Format|sgi_html/ch07.html#id5244585
3|3D Lithography STL Format|sgi_html/ch07.html#id5244701
3|SuperViewer SV Format|sgi_html/ch07.html#id5244931
3|Geometry Center Triangle Format|sgi_html/ch07.html#id5245471
3|UNC Walkthrough Format|sgi_html/ch07.html#id5245647
3|WRL Format|sgi_html/ch07.html#id5245712
2|Database Operators with Pseudo Loaders|sgi_html/ch07.html#id5245759
2|The Maya Database Exporter|sgi_html/ch07.html#id5246633
3|Installation Requirements|sgi_html/ch07.html#LE22492-PARENT
3|Exporting a Scene Using the Graphical Interface|sgi_html/ch07.html#LE36817-PARENT
3|Exporting a Scene Using the Maya Embedded Language (MEL)|sgi_html/ch07.html#LE19215-PARENT
3|Translation Details|sgi_html/ch07.html#LE26054-PARENT
4|Supported Maya Features|sgi_html/ch07.html#LE20915-PARENT
4|Hierarchy|sgi_html/ch07.html#LE40588-PARENT
4|Geometry|sgi_html/ch07.html#LE15164-PARENT
4|Shaders|sgi_html/ch07.html#LE23645-PARENT
1|Chapter 8. Geometry|sgi_html/ch08.html
2|pfGeoSet (Geometry Set)|sgi_html/ch08.html#LE43186-PARENT
3|Primitive Types|sgi_html/ch08.html#LE51500-PARENT
3|pfGeoSet Draw Mode|sgi_html/ch08.html#id5251056
4|Packed Attributes|sgi_html/ch08.html#id5251534
3|Primitive Connectivity|sgi_html/ch08.html#id5251850
3|Attributes|sgi_html/ch08.html#LE96781-PARENT
3|Attribute Bindings|sgi_html/ch08.html#id5252322
3|Indexed Arrays|sgi_html/ch08.html#LE25882-PARENT
4|When to Index Attributes|sgi_html/ch08.html#id5252877
3|pfGeoSet Operations|sgi_html/ch08.html#LE73325-PARENT
2|pfGeoArray (Geometry Array)|sgi_html/ch08.html#LE21841-PARENT
3|pfGeoArray Attributes|sgi_html/ch08.html#id5253440
3|pfGeoArray Attribute Types|sgi_html/ch08.html#LE21992-PARENT
3|pfGeoSet Primitive Types|sgi_html/ch08.html#id5254721
4|Specifying Primitive Types|sgi_html/ch08.html#id5254734
4|Primitive Type Descriptions|sgi_html/ch08.html#id5254863
3|pfGeoArray Special Rendering Characteristics|sgi_html/ch08.html#id5256044
3|pfGeoArrays (Geometry) and pfGeoStates (Appearance)|sgi_html/ch08.html#LE19688-PARENT
3|Drawing pfGeoArrays|sgi_html/ch08.html#id5256647
3|Intersecting with pfGeoArrays|sgi_html/ch08.html#id5256891
3|Clip Texture Emulation Support|sgi_html/ch08.html#id5258430
3|Quick Manipulation of Temporary pfGeoArrays|sgi_html/ch08.html#id5258745
3| Converting pfGeoSets to pfGeoArrays|sgi_html/ch08.html#id5258941
2|3D Text|sgi_html/ch08.html#LE17931-PARENT
3|pfFont|sgi_html/ch08.html#id5259078
3|pfString|sgi_html/ch08.html#LE94240-PARENT
1|Chapter 9. Higher-Order Geometric Primitives|sgi_html/ch09.html
2|Features and Uses of Higher-Order Geometric Primitives|sgi_html/ch09.html#LE97325-PARENT
3|Reps and the Rendering Process|sgi_html/ch09.html#id5260750
3|Trimmed NURBS|sgi_html/ch09.html#id5260775
2|Objects Required by Reps|sgi_html/ch09.html#LE17995-PARENT
3|New Types Required for Reps|sgi_html/ch09.html#id5260918
3|Classes for Scalar Functions|sgi_html/ch09.html#id5261130
4|Class Declaration for pfScalar|sgi_html/ch09.html#id5261200
4|Class Declaration for pfCompositeScalar|sgi_html/ch09.html#id5261231
4|Main Features of the Methods in pfCompositeScalar|sgi_html/ch09.html#id5261252
4|Trigonometric Functions|sgi_html/ch09.html#id5261304
4|Polynomials|sgi_html/ch09.html#id5261389
4|Class Declaration for pfPolyScalar|sgi_html/ch09.html#id5261431
3|Matrix Class: pfRMatrix|sgi_html/ch09.html#LE85913-PARENT
2|Geometric Primitives: The Base Class pfRep and the Application repTest|sgi_html/ch09.html#LE41769-PARENT
3|Class Declaration for pfRep|sgi_html/ch09.html#id5261822
3|Main Features of the Methods in pfRep|sgi_html/ch09.html#id5261853
2|Planar Curves|sgi_html/ch09.html#LE87966-PARENT
3|Mathematical Description of a Planar Curve|sgi_html/ch09.html#LE39609-PARENT
4|Class Declaration for pfCurve2d|sgi_html/ch09.html#id5262521
4|Main Features of the Methods in pfCurve2d|sgi_html/ch09.html#id5262587
3|Lines in the Plane|sgi_html/ch09.html#LE59834-PARENT
4|Class Declaration for pfLine2d|sgi_html/ch09.html#id5262967
4|Main Features of Methods in pfLine2d|sgi_html/ch09.html#id5262993
3|Circles in the Plane|sgi_html/ch09.html#LE39403-PARENT
4|Class Declaration for pfCircle2d|sgi_html/ch09.html#id5263261
4|Main Features of the Methods in pfCircle2d|sgi_html/ch09.html#id5263287
3|Superquadric Curves: pfSuperQuadCurve2d|sgi_html/ch09.html#LE82762-PARENT
4|Class Declaration for pfSuperQuadCurve2d|sgi_html/ch09.html#id5263654
4|Main Features of the Methods in pfSuperQuadCurve2d|sgi_html/ch09.html#id5263744
3|Hermite-Spline Curves in the Plane|sgi_html/ch09.html#LE31846-PARENT
4|Class Declaration for pfHsplineCurve2d|sgi_html/ch09.html#id5263940
3|NURBS Overview|sgi_html/ch09.html#LE57951-PARENT
4|OpenGL Performer NURBS Classes|sgi_html/ch09.html#LE22282-PARENT
4|NURBS Elements That Determine the Control Parameters|sgi_html/ch09.html#LE26959-PARENT
4|Knot Points|sgi_html/ch09.html#LE50886-PARENT
4|Control Hull|sgi_html/ch09.html#LE37107-PARENT
4|Weights for Control Points|sgi_html/ch09.html#LE86663-PARENT
4|Features of NURBS and Bezier Curves|sgi_html/ch09.html#LE12373-PARENT
4|Equation Used to Calculate a NURBS Curve|sgi_html/ch09.html#id5264759
4|Alternative Equation for a NURBS Curve|sgi_html/ch09.html#id5264809
3|NURBS Curves in the Plane|sgi_html/ch09.html#LE25301-PARENT
4|Class Declaration for pfNurbCurve2d|sgi_html/ch09.html#LE60324-PARENT
4|Main Features of the Methods in pfNurbCurve2d|sgi_html/ch09.html#LE48717-PARENT
3|Piecewise Polynomial Curves: pfPieceWisePolyCurve2d|sgi_html/ch09.html#LE31873-PARENT
4|Class Declaration for pfPieceWisePolyCurve|sgi_html/ch09.html#id5265352
3|Discrete Curves in the Plane|sgi_html/ch09.html#LE98125-PARENT
4|Class Declaration for pfDisCurve2d|sgi_html/ch09.html#id5265550
4|Main Features of the Methods in pfDisCurve2d|sgi_html/ch09.html#id5265645
2|Spatial Curves|sgi_html/ch09.html#LE23187-PARENT
3|Lines in Space|sgi_html/ch09.html#LE11035-PARENT
4|pfOrientedLine3d|sgi_html/ch09.html#id5266337
3|Circles in Space|sgi_html/ch09.html#LE21268-PARENT
3|Superquadrics in Space|sgi_html/ch09.html#LE11670-PARENT
3|Hermite Spline Curves in Space|sgi_html/ch09.html#LE20248-PARENT
3|NURBS Curves in Space|sgi_html/ch09.html#LE51289-PARENT
3|Curves on Surfaces: pfCompositeCurve3d|sgi_html/ch09.html#LE27023-PARENT
4|Class Declaration for pfCompositeCurve3d|sgi_html/ch09.html#id5266814
4|Main Features of the Methods in pfCompositeCurve3d|sgi_html/ch09.html#id5266849
3|Discrete Curves in Space|sgi_html/ch09.html#LE55745-PARENT
3|Example of Using pfDisCurve3d and pfHsplineCurve3d|sgi_html/ch09.html#id5266986
2|Parametric Surfaces|sgi_html/ch09.html#LE25486-PARENT
3|Mathematical Description of a Parametric Surface|sgi_html/ch09.html#LE32595-PARENT
3|Defining Edges of a Parametric Surface: Trim Loops and Curves|sgi_html/ch09.html#LE25554-PARENT
3|Adjacency Information: pfEdge|sgi_html/ch09.html#LE12559-PARENT
4|Class Declaration for pfEdge|sgi_html/ch09.html#id5267994
3|Base Class for Parametric Surfaces: pfParaSurface|sgi_html/ch09.html#LE59683-PARENT
4|Class Declaration for pfParaSurface|sgi_html/ch09.html#id5268084
4|Main Features of the Methods in pfParaSurface|sgi_html/ch09.html#id5268111
3|pfPlaneSurface|sgi_html/ch09.html#LE34213-PARENT
4|Class Declaration for pfPlaneSurface|sgi_html/ch09.html#id5268791
4|Main Features of the Methods in pfPlaneSurface|sgi_html/ch09.html#id5268861
3|pfSphereSurface|sgi_html/ch09.html#LE45761-PARENT
4|Class Declaration for pfSphereSurface|sgi_html/ch09.html#id5269094
4|Main Features of the Methods in pfSphereSurface|sgi_html/ch09.html#id5269128
4|pfSphereSurface Example|sgi_html/ch09.html#LE29825-PARENT
3|pfCylinderSurface|sgi_html/ch09.html#LE50983-PARENT
4|Class Declaration for pfCylinderSurface|sgi_html/ch09.html#id5269363
4|Main Features of the Methods in pfCylinderSurface|sgi_html/ch09.html#id5269390
3|pfTorusSurface|sgi_html/ch09.html#LE98919-PARENT
4|Class Declaration for pfTorusSurface|sgi_html/ch09.html#id5269575
4|Main Features of the Methods in pfTorusSurface|sgi_html/ch09.html#id5269601
3|pfConeSurface|sgi_html/ch09.html#LE86934-PARENT
4|Class Declaration for pfConeSurface|sgi_html/ch09.html#id5269816
4|Main Features of the Methods in pfConeSurface|sgi_html/ch09.html#id5269852
3|Swept Surfaces|sgi_html/ch09.html#LE68259-PARENT
4|Orientation of the Cross Section|sgi_html/ch09.html#id5270044
4|Class Declaration for pfSweptSurface|sgi_html/ch09.html#id5270085
4|Main Features of the Methods in pfSweptSurface|sgi_html/ch09.html#id5270125
3|pfFrenetSweptSurface|sgi_html/ch09.html#LE93291-PARENT
4|Class Declaration for pfFrenetSweptSurface|sgi_html/ch09.html#LE34011-PARENT
4|Main Features of the Methods in pfFrenetSweptSurface|sgi_html/ch09.html#id5270457
4|Making a Modulated Torus With pfFrenetSweptSurface|sgi_html/ch09.html#id5270481
3|Ruled Surfaces|sgi_html/ch09.html#LE75316-PARENT
4|Class Declaration for pfRuledSurface|sgi_html/ch09.html#id5270631
3|Coons Patches|sgi_html/ch09.html#LE66906-PARENT
4|Class Declaration for pfCoonsSurface|sgi_html/ch09.html#id5270954
3|NURBS Surfaces|sgi_html/ch09.html#LE36008-PARENT
4|Class Declaration for pfNurbSurface|sgi_html/ch09.html#id5271230
4|Main Features of the Methods in pfNurbSurface|sgi_html/ch09.html#id5271257
4|Indexing Knot Points and the Control Hull|sgi_html/ch09.html#id5271367
4|Equation Used to Calculate a NURBS Surface|sgi_html/ch09.html#id5271553
4|Alternative Equation for a NURBS Surface|sgi_html/ch09.html#id5271599
4|Sample of a Trimmed pfNurbSurface From repTest|sgi_html/ch09.html#id5271679
3|Hermite-Spline Surfaces|sgi_html/ch09.html#LE70720-PARENT
4|Class Declaration for pfHsplineSurface|sgi_html/ch09.html#id5271918
4|Main Features of the Methods in pfHsplineSurface|sgi_html/ch09.html#id5271944
2|Meshes|sgi_html/ch09.html#LE11353-PARENT
3|Mesh Faces|sgi_html/ch09.html#LE40446-PARENT
3|Mesh Vertices|sgi_html/ch09.html#LE15474-PARENT
4|Vertex Coordinates|sgi_html/ch09.html#LE22612-PARENT
4|Vertex Neighbors|sgi_html/ch09.html#LE37309-PARENT
4|Binary Flags|sgi_html/ch09.html#LE29851-PARENT
2|Subdivision Surfaces|sgi_html/ch09.html#LE28703-PARENT
3|Creating a Subdivision Surface|sgi_html/ch09.html#LE34053-PARENT
3|Loop and Catmull-Clark Subdivisions|sgi_html/ch09.html#LE34562-PARENT
3|Dynamic Modification of Vertices|sgi_html/ch09.html#LE41861-PARENT
3|The libpfsubdiv Pseudo Loader|sgi_html/ch09.html#LE29047-PARENT
3|Special Notes|sgi_html/ch09.html#LE13706-PARENT
1|Chapter 10. Creating and Maintaining Surface Topology|sgi_html/ch10.html
2|Overview of Topology Tasks|sgi_html/ch10.html#LE72378-PARENT
2|Summary of Scene Graph Topology: pfTopo|sgi_html/ch10.html#LE42832-PARENT
3|Building Topology: Computing and Using Connectivity Information|sgi_html/ch10.html#LE54016-PARENT
4|Building Topology Incrementally: A Single-Traversal Build|sgi_html/ch10.html#LE61912-PARENT
4|Building Topology From All Scene Graph Surfaces: A Two-Traversal Build|sgi_html/ch10.html#LE30577-PARENT
4|Building Topology From a List of Surfaces|sgi_html/ch10.html#LE97133-PARENT
4|Building Topology &#8220;by Hand&#8221;: Imported Surfaces|sgi_html/ch10.html#LE40102-PARENT
4|Summary of Topology Building Strategies|sgi_html/ch10.html#LE55692-PARENT
3|Reading and Writing Topology Information: Using Pseudo Loaders|sgi_html/ch10.html#id5276654
3|Class Declaration for pfTopo|sgi_html/ch10.html#id5277315
3|Main Features of the Methods in pfTopo|sgi_html/ch10.html#id5277368
2|Collecting Connected Surfaces: pfSolid|sgi_html/ch10.html#LE69876-PARENT
3|Class Declaration for pfSolid|sgi_html/ch10.html#id5277773
3|Main Features of the Methods in pfSolid|sgi_html/ch10.html#id5277805
1|Chapter 11. Rendering Higher-Order Primitives: Tessellators|sgi_html/ch11.html
2|Features of Tessellators|sgi_html/ch11.html#LE32187-PARENT
3|Tessellators for Varying Levels of Detail|sgi_html/ch11.html#id5278050
4|Details of|sgi_html/ch11.html#id5278153
3|Tessellators Act on a Whole Graph or Single Node|sgi_html/ch11.html#id5278225
3|Tessellators and Topology: Managing Cracks|sgi_html/ch11.html#id5278246
2|Base Class pfTessellateAction|sgi_html/ch11.html#LE29461-PARENT
3|Retessellating a Scene Graph|sgi_html/ch11.html#id5278407
3|Class Declaration for pfTessellateAction|sgi_html/ch11.html#id5278513
3|Main Features of the Methods in pfTessellateAction|sgi_html/ch11.html#id5278591
2|Tessellating Parametric Surfaces|sgi_html/ch11.html#LE94465-PARENT
3|pfTessParaSurfaceAction|sgi_html/ch11.html#LE69511-PARENT
4|Class Declaration for pfTessParaSurfaceAction|sgi_html/ch11.html#id5278929
4|Main Features of the Methods in pfTessParaSurface|sgi_html/ch11.html#id5278988
3|Sample From repTest: Tessellating and Rendering a Sphere|sgi_html/ch11.html#id5279230
1|Chapter 12. Graphics State|sgi_html/ch12.html
2|Immediate Mode|sgi_html/ch12.html#id5279812
3|Rendering Modes|sgi_html/ch12.html#LE89764-PARENT
4|Transparency|sgi_html/ch12.html#id5281384
4|Shading Model|sgi_html/ch12.html#id5281714
4|Alpha Function|sgi_html/ch12.html#id5281833
4|Decals|sgi_html/ch12.html#id5281949
4|Frontface / Backface|sgi_html/ch12.html#id5282428
4|Antialiasing|sgi_html/ch12.html#id5282607
3|Rendering Values|sgi_html/ch12.html#LE73671-PARENT
3|Enable / Disable|sgi_html/ch12.html#id5282887
3|Rendering Attributes|sgi_html/ch12.html#LE32960-PARENT
4|Texture|sgi_html/ch12.html#id5284438
4|Video Texturing|sgi_html/ch12.html#id5285289
4|Texture Management|sgi_html/ch12.html#id5285367
4|Texture Formats|sgi_html/ch12.html#id5286730
4|Controlling Texture LOD with pfTexLOD|sgi_html/ch12.html#id5287362
4|Setting the Texture Environment with pfTexEnv|sgi_html/ch12.html#id5287569
4|Automatic Texture Coordinate Generation|sgi_html/ch12.html#LE27919-PARENT
4|Lighting|sgi_html/ch12.html#LE19278-PARENT
4|Materials|sgi_html/ch12.html#id5288741
4|Color Tables|sgi_html/ch12.html#id5288927
4|Fog|sgi_html/ch12.html#LE31735-PARENT
4|Highlights|sgi_html/ch12.html#id5289585
3|Graphics Library Matrix Routines|sgi_html/ch12.html#id5290296
3|Sprite Transformations|sgi_html/ch12.html#id5290653
3|Display Lists|sgi_html/ch12.html#LE35240-PARENT
4|Combining Display Lists|sgi_html/ch12.html#id5291496
3|State Management|sgi_html/ch12.html#id5291535
4|Pushing and Popping State|sgi_html/ch12.html#id5291751
3|State Override|sgi_html/ch12.html#id5291894
3|pfGeoState|sgi_html/ch12.html#LE27335-PARENT
4|Local and Global State|sgi_html/ch12.html#id5292070
4|Applying pfGeoStates|sgi_html/ch12.html#id5292613
4|pfGeoSets and pfGeoStates|sgi_html/ch12.html#LE25890-PARENT
4|Multitexture Support in pfGeoState|sgi_html/ch12.html#id5293408
1|Chapter 13. Shaders|sgi_html/ch13.html
2|Setting Up Shaded pfGeoSets|sgi_html/ch13.html#id5293740
2|Textures and Texture Coordinates|sgi_html/ch13.html#id5293854
2|OpenGL Shader and OpenGL Performer|sgi_html/ch13.html#id5294173
1|Chapter 14. Using Scalable Graphics Hardware|sgi_html/ch14.html
2|Using OpenGL Performer with a DPLEX|sgi_html/ch14.html#LE36585-PARENT
3|Hyperpipe Concepts|sgi_html/ch14.html#LE40818-PARENT
3|Configuring Hyperpipes|sgi_html/ch14.html#LE13620-PARENT
4|Establishing the Number of Graphic Pipes|sgi_html/ch14.html#id5294963
4|Using the Default Hyperpipe Mapping to Graphic Pipes|sgi_html/ch14.html#id5295272
4|Using Nondefault Hyperpipe Mappings to Graphics Pipes|sgi_html/ch14.html#id5295395
3|Configuring pfPipeWindows and pfChannels|sgi_html/ch14.html#LE14237-PARENT
4|Clones|sgi_html/ch14.html#id5296870
4|Synchronization|sgi_html/ch14.html#id5297008
3|Programming with Hyperpipes|sgi_html/ch14.html#LE32080-PARENT
2|Using OpenGL Performer with an SGI Scalable Graphics Compositor|sgi_html/ch14.html#LE37463-PARENT
3|How the Compositor Functions|sgi_html/ch14.html#LE12132-PARENT
3|Using the pfCompositor Class|sgi_html/ch14.html#LE30693-PARENT
3|Load Balancing|sgi_html/ch14.html#LE38724-PARENT
2|Using OpenGL Performer with GPUs|sgi_html/ch14.html#LE27712-PARENT
3|The pfGProgram Class|sgi_html/ch14.html#LE39689-PARENT
3|The pfGProgramParms Class|sgi_html/ch14.html#LE24373-PARENT
3|The pfVertexProgram and pfFragmentProgram Classes|sgi_html/ch14.html#LE34771-PARENT
1|Chapter 15. ClipTextures|sgi_html/ch15.html
2|Overview|sgi_html/ch15.html#LE12842-PARENT
3|Cliptexture Levels|sgi_html/ch15.html#id5301209
3|Cliptexture Assumptions|sgi_html/ch15.html#id5301355
4|Why Do These Assumptions Work?|sgi_html/ch15.html#id5301423
3|Image Cache|sgi_html/ch15.html#id5301535
3|Toroidal Loading|sgi_html/ch15.html#id5301733
4|Invalid Borders|sgi_html/ch15.html#id5301792
3|Updating the Clipce nter|sgi_html/ch15.html#id5301915
3|Virtual Cliptextures on InfiniteReality Systems|sgi_html/ch15.html#id5301979
3|Cliptexture Support Requirements|sgi_html/ch15.html#id5302150
4|Centering|sgi_html/ch15.html#id5302163
4|Applying|sgi_html/ch15.html#id5302199
4|Texel Data|sgi_html/ch15.html#id5302213
3|Special Features|sgi_html/ch15.html#id5302269
4|Insets|sgi_html/ch15.html#id5302280
4|Virtualization on InfiniteReality Systems|sgi_html/ch15.html#id5302315
4|Multiple Pipe Support|sgi_html/ch15.html#id5302337
3|How Cliptextures Interact with the Rest of the System|sgi_html/ch15.html#LE20234-PARENT
4|Geostates|sgi_html/ch15.html#id5302375
4|Pipes|sgi_html/ch15.html#id5302391
4|Channels|sgi_html/ch15.html#id5302458
3|Cliptexture Support in OpenGL Performer|sgi_html/ch15.html#id5302524
4|libpr Support|sgi_html/ch15.html#id5302536
4|libpf Support|sgi_html/ch15.html#id5302599
4|libpfutil Support|sgi_html/ch15.html#id5302654
4|libpfdu Support|sgi_html/ch15.html#id5302909
4|libpfdb Support|sgi_html/ch15.html#id5303046
4|Sample Applications|sgi_html/ch15.html#id5303192
3|Cliptexture Manipulation|sgi_html/ch15.html#id5303227
4|Load Cont rol|sgi_html/ch15.html#id5303242
4|Invalid Border|sgi_html/ch15.html#id5303274
4|S hare Masks|sgi_html/ch15.html#id5303297
4|Read Function|sgi_html/ch15.html#id5303319
4|Read Queue Sorting|sgi_html/ch15.html#id5303373
2|Cliptexture API|sgi_html/ch15.html#LE55825-PARENT
2|Preprocessing ClipTextures|sgi_html/ch15.html#LE65652-PARENT
3|Building a MIPmap|sgi_html/ch15.html#LE61732-PARENT
3|Formatting Im age Data|sgi_html/ch15.html#id5303928
3|Tiling an Im age|sgi_html/ch15.html#id5303991
4|Tile Size|sgi_html/ch15.html#id5304119
2|Cliptexture Configuration|sgi_html/ch15.html#LE96098-PARENT
3|Configuration Considerations|sgi_html/ch15.html#id5304194
3|Load-Time Configuration|sgi_html/ch15.html#id5304256
3|Post-Load-Time Configuration|sgi_html/ch15.html#id5304354
2|Configuration API|sgi_html/ch15.html#LE88860-PARENT
3|libpr Functionality|sgi_html/ch15.html#id5304454
4|Configuring an Image Cache Level|sgi_html/ch15.html#id5304584
4|Configuring an Image Cache Proto Tile|sgi_html/ch15.html#id5304922
4|Configuring an Image Cache|sgi_html/ch15.html#id5305266
4|Configuring a pfTexture|sgi_html/ch15.html#id5305662
4|Configuring the Default Tile|sgi_html/ch15.html#id5305838
4|Configuring Image Tiles|sgi_html/ch15.html#id5306006
3|Configuration Utilities|sgi_html/ch15.html#id5306252
4|Cliptexture Configuration|sgi_html/ch15.html#id5306316
4|Image Cache Configuration|sgi_html/ch15.html#id5306521
4|Filling in the Structures|sgi_html/ch15.html#id5306750
3|Configuration Files|sgi_html/ch15.html#id5306900
4|Using Configuration Files|sgi_html/ch15.html#id5306955
4|Creating Configuration Files|sgi_html/ch15.html#id5307020
4|Configuration File Tips|sgi_html/ch15.html#id5307298
4|Cliptexture Loaders|sgi_html/ch15.html#id5307406
4|Image Cache Configuration File Details|sgi_html/ch15.html#LE18085-PARENT
4|Configuration Fields|sgi_html/ch15.html#id5307626
4|Image Cache Configuration File Description|sgi_html/ch15.html#id5308189
4|ext_format, int_format, and img_format|sgi_html/ch15.html#id5308322
4|icache_size, mem_region_size, and tex_region_size|sgi_html/ch15.html#id5308420
4|tile_format and tile_params|sgi_html/ch15.html#id5308606
4|header_offset, tiles_in_file, and tile_size|sgi_html/ch15.html#id5308995
4|num_streams, s_streams, t_streams, and r_streams|sgi_html/ch15.html#id5309047
4|default_tile|sgi_html/ch15.html#LE85644-PARENT
4|Cliptexture Configuration File Details|sgi_html/ch15.html#id5309228
4|Configuration Fields|sgi_html/ch15.html#id5309356
4|Cliptexture Configuration File Description|sgi_html/ch15.html#id5310030
4|ext_format, int_format, and img_format|sgi_html/ch15.html#id5310142
4|virt_size and clip_size|sgi_html/ch15.html#id5310200
4|invalid_border|sgi_html/ch15.html#id5310248
4|smallest_icache|sgi_html/ch15.html#id5310307
4|icache_files, icache_format and icache_params|sgi_html/ch15.html#id5310356
4|icache_files|sgi_html/ch15.html#id5310488
4|tile_files|sgi_html/ch15.html#id5310713
4|header_offset, tiles_in_file, and tile_size|sgi_html/ch15.html#id5310798
4|tile_base, tile_format and tile_params|sgi_html/ch15.html#id5310904
4|Optional Image Cache Configuration Files|sgi_html/ch15.html#id5311280
2|Post-Scene Graph Load Configuration|sgi_html/ch15.html#LE81697-PARENT
3|MPClipTextures|sgi_html/ch15.html#id5311437
4|Connecting MPcliptextures to pfPipes|sgi_html/ch15.html#id5311521
4|libpf Functionality|sgi_html/ch15.html#id5311846
3|pfMPClipTexture Utilities|sgi_html/ch15.html#id5311910
4|Clipcenter Node|sgi_html/ch15.html#id5311985
3|Using Cliptextures with Multiple Pipes|sgi_html/ch15.html#id5312186
4|Making Masters and Slaves|sgi_html/ch15.html#id5312318
4|Multipipe Cliptexture API|sgi_html/ch15.html#id5312416
4|Multipipe Utilities|sgi_html/ch15.html#id5312555
4|Master/Slave Share Masks|sgi_html/ch15.html#id5312604
3|Texture Memory and Hardware Support Checking|sgi_html/ch15.html#id5312762
2|Manipulating Cliptextures|sgi_html/ch15.html#LE28679-PARENT
3|Cliptexture Load Control|sgi_html/ch15.html#id5312915
4|Dynamic Texture Resolution|sgi_html/ch15.html#id5312969
4|Load Control API|sgi_html/ch15.html#id5313062
4|Download Time|sgi_html/ch15.html#id5313175
4|Cost Tables|sgi_html/ch15.html#id5313225
4|Changing Levels|sgi_html/ch15.html#id5176926
4|Total Texload Time and Texload Time Fraction|sgi_html/ch15.html#id5177075
4|Read Queue Sorting|sgi_html/ch15.html#id5177140
3|Invalidating Cliptextures|sgi_html/ch15.html#LE16588-PARENT
3|Virtual ClipTextures|sgi_html/ch15.html#LE97423-PARENT
4|Selecting the Levels|sgi_html/ch15.html#id5314200
4|How to Set Virtual Cliptexture Parameters|sgi_html/ch15.html#id5314406
4|Per-Frame Setting of Virtual Cliptexture Parameters|sgi_html/ch15.html#id5314492
4|Per-Tile Setting of Virtual Cliptexture Parameters|sgi_html/ch15.html#id5314650
4|Tiling Strategies|sgi_html/ch15.html#id5314721
4|Doing Per-tile Updates|sgi_html/ch15.html#id5314854
4|How to Choose Virt ual Cliptexture Parameters|sgi_html/ch15.html#id5314984
3|Custom Read Functions|sgi_html/ch15.html#LE30636-PARENT
2|Using Cliptextures|sgi_html/ch15.html#LE25091-PARENT
3|Cliptexture Insets|sgi_html/ch15.html#LE18285-PARENT
4|Adding Ins ets to Cliptextured Data|sgi_html/ch15.html#id5315501
4|Ins ets and DTR|sgi_html/ch15.html#id5315541
4|Building Insets|sgi_html/ch15.html#id5315577
4|In set Boundaries|sgi_html/ch15.html#id5315649
4|Supersampled Data|sgi_html/ch15.html#id5315722
4|Multiple Insets|sgi_html/ch15.html#id5315805
3|Estimating Cliptexture Memory Usage|sgi_html/ch15.html#LE99982-PARENT
4|System Memory Estimation|sgi_html/ch15.html#id5315939
4|Example of Estimating System Memory Requirements|sgi_html/ch15.html#id5316106
4|Texture Memory Estimation|sgi_html/ch15.html#id5316218
4|Texture Memory Usage: A Further Complication|sgi_html/ch15.html#id5316349
3|Using Cliptextures in Multipipe Applications|sgi_html/ch15.html#id5316634
4|When to Make Master/Slave Cliptexture Groups|sgi_html/ch15.html#id5316665
4|Slave Cliptextures with Offset Centers|sgi_html/ch15.html#id5316732
3|Virtualizing Cliptextures|sgi_html/ch15.html#id5316786
3|Customizing Load Control|sgi_html/ch15.html#id5316906
3|Custom Read Functions|sgi_html/ch15.html#LE18849-PARENT
3|Cliptexture Sample Code|sgi_html/ch15.html#LE51559-PARENT
4|Test and Demo Pro grams|sgi_html/ch15.html#id5317093
4|OpenGL Performer Cliptexture Applications|sgi_html/ch15.html#id5317333
4|Loaders that Support Cliptextures|sgi_html/ch15.html#id5317409
4|Cliptexture Utility Code|sgi_html/ch15.html#id5317537
1|Chapter 16. Windows|sgi_html/ch16.html
2|pfWindows|sgi_html/ch16.html#LE74990-PARENT
2|Creating a pfWindow|sgi_html/ch16.html#id5317851
2|Configuring the Framebuffer of a pfWindow|sgi_html/ch16.html#id5318781
2|pfWindows and GL Windows|sgi_html/ch16.html#id5319735
2|Manipulating a pfWindow|sgi_html/ch16.html#LE39965-PARENT
3|Alternate Framebuffer Configuration Windows|sgi_html/ch16.html#id5321095
3|Window Share Groups|sgi_html/ch16.html#id5321373
3|Synchronization of Buffer Swap for Multiple Windows|sgi_html/ch16.html#id5321488
2|Communicating with the Window System|sgi_html/ch16.html#LE79202-PARENT
2|More pfWindow Examples|sgi_html/ch16.html#id5321783
1|Chapter 17. pfPipeWindows and pfPipeVideoChannels|sgi_html/ch17.html
2|Using pfPipeWindows|sgi_html/ch17.html#LE10174-PARENT
3|Creating, Configuring and Opening pfPipeWindow|sgi_html/ch17.html#LE73076-PARENT
3|pfPipeWindows in Action|sgi_html/ch17.html#LE87082-PARENT
4|Motif|sgi_html/ch17.html#id5325159
4|Multiple pfPipeWindows and Multiple pfPipes|sgi_html/ch17.html#id5325265
2|Controlling Video Displays|sgi_html/ch17.html#LE23732-PARENT
3|Creating a pfPipeVideoChannel|sgi_html/ch17.html#id5325646
3|Multiple pfPipeVideoChannels in a pfPipeWindow|sgi_html/ch17.html#id5325784
3|Configuring a pfPipeVideoChannel|sgi_html/ch17.html#id5326012
3|Use pfPipeVideoChannels to Control Frame Rate|sgi_html/ch17.html#id5326090
1|Chapter 18. Managing Nongraphic System Tasks|sgi_html/ch18.html
2|Handling Queues|sgi_html/ch18.html#id5326432
3|Multiprocessing|sgi_html/ch18.html#id5326544
3|Queue Contents|sgi_html/ch18.html#id5326581
3|Adding or Retrieving Elements|sgi_html/ch18.html#id5326600
4|Retrieving Elements from the Queue|sgi_html/ch18.html#id5326703
4|Related Methods|sgi_html/ch18.html#id5326818
3|pfQueue Modes|sgi_html/ch18.html#id5327009
4|NonSorting Mode|sgi_html/ch18.html#id5327053
4|Sorting the pfQueue|sgi_html/ch18.html#id5327096
4|Sorting Function|sgi_html/ch18.html#id5327203
4|Input and Output Ranges|sgi_html/ch18.html#id5327364
4|Triggering the Sort|sgi_html/ch18.html#id5327533
3|Running the Sort Process on a Different CPU|sgi_html/ch18.html#LE53772-PARENT
2|High-Resolution Clocks|sgi_html/ch18.html#id5327675
3|Video Refresh Counter (VClock)|sgi_html/ch18.html#id5327889
2|Memory Allocation|sgi_html/ch18.html#LE52905-PARENT
3|Allocating Memory With pfMalloc()|sgi_html/ch18.html#id5328519
3|Shared Arenas|sgi_html/ch18.html#id5329268
3|Allocating Locks and Semaphores|sgi_html/ch18.html#id5329663
3|Datapools|sgi_html/ch18.html#LE41607-PARENT
3|CycleBuffers|sgi_html/ch18.html#LE43220-PARENT
2|Asynchronous I/O (IRIX only)|sgi_html/ch18.html#id5330716
2|Error Handling and Notification|sgi_html/ch18.html#id5331049
2|File Search Paths|sgi_html/ch18.html#id5331714
1|Chapter 19. Dynamic Data|sgi_html/ch19.html
2|pfFlux|sgi_html/ch19.html#id5332305
3|Creating and Deleting a pfFlux|sgi_html/ch19.html#id5332422
3|Initializing the Buffers|sgi_html/ch19.html#LE16693-PARENT
3|pfFlux Buffers|sgi_html/ch19.html#id5332810
4|Reading pfFlux Buffers|sgi_html/ch19.html#id5332985
4|Writing to pfFlux Buffers|sgi_html/ch19.html#id5333188
3|Coordinating pfFlux and Connected pfEngines|sgi_html/ch19.html#id5333491
4|Triggering pfFlux Evaluation|sgi_html/ch19.html#LE40596-PARENT
3|Synchronized Flux Evaluation|sgi_html/ch19.html#id5334017
4|Synchronizing pfFluxes with Flux Sync Groups|sgi_html/ch19.html#id5334054
4|Enabling a Flux Sync Group|sgi_html/ch19.html#id5334212
4|Evaluating a Synchronized Flux Group|sgi_html/ch19.html#id5334283
3|Fluxed Geosets|sgi_html/ch19.html#id5334506
3|Fluxed Coordinate Systems|sgi_html/ch19.html#id5334644
3|Replacing pfCycleBuffer with pfFlux|sgi_html/ch19.html#LE14998-PARENT
4|pfFlux Differences|sgi_html/ch19.html#id5334885
4|Converting to pfFlux|sgi_html/ch19.html#id5334938
2|pfEngine|sgi_html/ch19.html#LE70807-PARENT
3|Creating and Deleting Engines|sgi_html/ch19.html#id5335000
3|Setting Engine Types and Modes|sgi_html/ch19.html#LE50324-PARENT
4|PFENG_SUM Engines|sgi_html/ch19.html#id5335679
4|PFENG_MORPH Engines|sgi_html/ch19.html#LE79665-PARENT
4|PFENG_BLEND Engines|sgi_html/ch19.html#id5335883
4|PFENG_TRANSFORM Engines|sgi_html/ch19.html#id5336018
4|PFENG_ALIGN Engines|sgi_html/ch19.html#id5336034
4|PFENG_MATRIX Engines|sgi_html/ch19.html#id5336106
4|PFENG_ANIMATE Engines|sgi_html/ch19.html#id5336344
4|PFENG_BBOX Engines|sgi_html/ch19.html#id5336650
4|PFENG_TIME Engines|sgi_html/ch19.html#id5336662
4|PFENG_STROBE Engines|sgi_html/ch19.html#id5336804
4|PFENG_USER_FUNCTION Engines|sgi_html/ch19.html#id5336923
3|Setting Engine Sources and Destinations|sgi_html/ch19.html#id5337010
3|Setting Engine Masks|sgi_html/ch19.html#LE56391-PARENT
3|Setting Engine Iterations|sgi_html/ch19.html#id5337193
3|Setting Engine Ranges|sgi_html/ch19.html#LE72597-PARENT
3|Evaluating pfEngines|sgi_html/ch19.html#id5337379
2|Animating a Geometry|sgi_html/ch19.html#LE95399-PARENT
1|Chapter 20. Active Surface Definition|sgi_html/ch20.html
2|Overview|sgi_html/ch20.html#id5337888
2|Using ASD|sgi_html/ch20.html#id5338096
3|LOD Reduction|sgi_html/ch20.html#id5338132
4|Triangulated Irregular Networks|sgi_html/ch20.html#id5338185
3|Hierarchical Structure|sgi_html/ch20.html#id5338228
2|ASD Solution Flow Chart|sgi_html/ch20.html#id5338358
2|A Very Simple ASD|sgi_html/ch20.html#id5338502
3|Morphing Vector|sgi_html/ch20.html#id5338565
3|A Very Complex ASD|sgi_html/ch20.html#id5338635
2|ASD Elements|sgi_html/ch20.html#id5338690
3|Vertices|sgi_html/ch20.html#id5338742
3|Evaluation Function|sgi_html/ch20.html#id5339110
2|Data Structures|sgi_html/ch20.html#id5339179
3|Triangle Data Structure|sgi_html/ch20.html#id5339366
4|Triangle IDs and LOD Levels|sgi_html/ch20.html#id5339621
4|Discontinuous, Neighboring LODs|sgi_html/ch20.html#id5339704
4|Triangle Strips|sgi_html/ch20.html#id5339825
4|Vertex and Reference Point Arrays|sgi_html/ch20.html#id5340119
4|Attributes|sgi_html/ch20.html#id5340292
3|Attribute Data Array|sgi_html/ch20.html#LE13076-PARENT
4|Setting the Attributes|sgi_html/ch20.html#id5340460
4|Global Attributes|sgi_html/ch20.html#id5340557
3|Vertex Data Structure|sgi_html/ch20.html#LE72950-PARENT
3|Default Evaluation Function|sgi_html/ch20.html#LE41588-PARENT
4|Overriding the Default Evaluation Function|sgi_html/ch20.html#id5340945
2|pfASD Queries|sgi_html/ch20.html#id5341089
3|Aligning an Object to the Surface|sgi_html/ch20.html#id5341191
4|Casting a Shadow|sgi_html/ch20.html#id5341218
4|Generating Decals|sgi_html/ch20.html#id5341244
3|Adding a Q uery Array|sgi_html/ch20.html#id5341272
2|Using ASD for Multiple Channels|sgi_html/ch20.html#id5341384
3|Connecting Channels|sgi_html/ch20.html#LE10463-PARENT
2|Combining pfClipTex ture and pfASD|sgi_html/ch20.html#id5341522
2|ASD Evaluation Function Timing|sgi_html/ch20.html#id5341737
3|Query Results|sgi_html/ch20.html#id5341831
3|Aligning a Geometry With a pfASD Surface Example|sgi_html/ch20.html#id5341868
3|Aligning Light Points Above a pfASD Surface Example|sgi_html/ch20.html#LE90512-PARENT
2|Paging|sgi_html/ch20.html#id5342263
3|Interest Area|sgi_html/ch20.html#id5342324
3|Preprocessing for Paging|sgi_html/ch20.html#LE71240-PARENT
4|Order of Paging|sgi_html/ch20.html#id5342494
3|Multi-resolution Paging|sgi_html/ch20.html#id5342524
1|Chapter 21. Light Points|sgi_html/ch21.html
2|Uses of Light Points|sgi_html/ch21.html#id5342740
2|Creating a Light Point|sgi_html/ch21.html#id5342873
2|Setting the Behavior of Light Points|sgi_html/ch21.html#id5342935
3|Intensity|sgi_html/ch21.html#id5343028
3|Directionality|sgi_html/ch21.html#id5343063
4|Enabling Directionality|sgi_html/ch21.html#id5343088
3|Emanation Shape|sgi_html/ch21.html#id5343210
4|Shape|sgi_html/ch21.html#id5343290
4|Rotation|sgi_html/ch21.html#id5343314
4|Falloff|sgi_html/ch21.html#id5343326
3|Distance|sgi_html/ch21.html#id5343406
3|Attenuation through Fog|sgi_html/ch21.html#id5343462
4|Enabling Punch-Through|sgi_html/ch21.html#id5343492
3|Size|sgi_html/ch21.html#id5343541
4|Size Limitations|sgi_html/ch21.html#id5343589
4|Limiting Size Calculations|sgi_html/ch21.html#id5343608
4|Enabling Perspective|sgi_html/ch21.html#id5343634
3|Fading|sgi_html/ch21.html#id5343687
4|Fading Calculation|sgi_html/ch21.html#id5343723
4|Enabling Fading|sgi_html/ch21.html#id5343750
2|Callbacks|sgi_html/ch21.html#id5343814
3|Multisample, Size, and Alpha|sgi_html/ch21.html#id5344058
4|Minimum Number of Multisamples|sgi_html/ch21.html#id5344157
2|Reducing CPU Processing Using Textures|sgi_html/ch21.html#id5344176
2|Preprocessing Light Points|sgi_html/ch21.html#LE76490-PARENT
3|Stage Configuration Callbacks|sgi_html/ch21.html#id5344363
4|pfChanTravFunc|sgi_html/ch21.html#id5344421
3|How the Light Point Process Works|sgi_html/ch21.html#id5344512
2|Calligraphic Light Points|sgi_html/ch21.html#LE64405-PARENT
3|Calligraphic Versus Raster Displays|sgi_html/ch21.html#id5344775
4|Display Modes|sgi_html/ch21.html#LE87026-PARENT
4|Maximum Number of Calligraphic Lights|sgi_html/ch21.html#id5345154
3|LPB Hardware Configuration|sgi_html/ch21.html#id5345286
3|Visibility Information|sgi_html/ch21.html#id5345537
3|Required Steps For Using Calligraphic Lights|sgi_html/ch21.html#id5345611
4|Customizing LPB Initialization|sgi_html/ch21.html#id5345774
3|Accounting for Projector Differences|sgi_html/ch21.html#id5345994
4|Slew Values|sgi_html/ch21.html#id5346029
4|Color Correction|sgi_html/ch21.html#id5346200
3|Callbacks|sgi_html/ch21.html#id5346318
3|Frame to Frame Control|sgi_html/ch21.html#LE44690-PARENT
3|Significance|sgi_html/ch21.html#LE95703-PARENT
3|Debunching|sgi_html/ch21.html#LE19408-PARENT
3|Defocussing Calligraphic Objects|sgi_html/ch21.html#LE85240-PARENT
2|Using pfCalligraphic Without pfChannel|sgi_html/ch21.html#id5346833
3|Timing Issues|sgi_html/ch21.html#id5346944
3|Light Point Process and Calligraphic|sgi_html/ch21.html#id5347008
2|Debugging Calligrap hic Lights on Non-Calligraphic Systems|sgi_html/ch21.html#id5347049
2|Calligraphic Light Example|sgi_html/ch21.html#id5347092
1|Chapter 22. Math Routines|sgi_html/ch22.html
2|Vector Operations|sgi_html/ch22.html#id5347317
2|Matrix Operations|sgi_html/ch22.html#id5349368
2|Quaternion Operations|sgi_html/ch22.html#id5352778
2|Matrix Stack Operations|sgi_html/ch22.html#id5353812
2|Creating and Transforming Volumes|sgi_html/ch22.html#id5354504
3|Defining a Volume|sgi_html/ch22.html#id5354732
4|Spheres|sgi_html/ch22.html#id5354771
4|Axially Aligned Boxes|sgi_html/ch22.html#id5354880
4|Cylinders|sgi_html/ch22.html#id5355034
4|Half-spaces (Planes)|sgi_html/ch22.html#id5355172
4|Frusta|sgi_html/ch22.html#id5355284
3|Creating Bounding Volumes|sgi_html/ch22.html#id5355398
3|Transforming Bounding Volumes|sgi_html/ch22.html#id5355960
2|Intersecting Volumes|sgi_html/ch22.html#id5356276
3|Point-Volume Intersection Tests|sgi_html/ch22.html#id5356302
3|Volume-Volume Intersection Tests|sgi_html/ch22.html#id5356626
2|Creating and Working with Line Segments|sgi_html/ch22.html#id5357434
3|Intersecting with Volumes|sgi_html/ch22.html#id5357729
3|Intersecting with Planes and Triangles|sgi_html/ch22.html#id5358083
3|Intersecting with pfGeoSets|sgi_html/ch22.html#LE31531-PARENT
4|Intersection Masks|sgi_html/ch22.html#LE87389-PARENT
4|Discriminator Callbacks|sgi_html/ch22.html#LE62978-PARENT
2|General Math Routine Example Program|sgi_html/ch22.html#id5359278
1|Chapter 23. Statistics|sgi_html/ch23.html
2|Interpreting Statistics Displays|sgi_html/ch23.html#LE69883-PARENT
3|Status Line|sgi_html/ch23.html#id5359978
3|Stage Timing Graph|sgi_html/ch23.html#id5360047
3|Load and Stress|sgi_html/ch23.html#id5360873
3|CPU Statistics|sgi_html/ch23.html#id5361008
4|RTMon Statistics (IRIX Only)|sgi_html/ch23.html#id5361192
3|Rendering Statistics|sgi_html/ch23.html#id5361270
3|Fill Statistics|sgi_html/ch23.html#id5361488
2|Collecting and Accessing Statistics in Your Application|sgi_html/ch23.html#id5361764
3|Displaying Statistics Simply|sgi_html/ch23.html#id5361942
3|Enabling and Disabling Statistics for a Channel|sgi_html/ch23.html#id5362093
3|Statistics in libpr and libpf&#8212;pfStats Versus pfFrameStats|sgi_html/ch23.html#id5362140
4|Statistics Class Structures|sgi_html/ch23.html#id5362254
3|Statistics Rules of Use|sgi_html/ch23.html#id5362440
4|Statistics Tokens|sgi_html/ch23.html#id5362563
4|Statistics Buffers|sgi_html/ch23.html#id5362935
3|Reducing the Cost of Statistics|sgi_html/ch23.html#id5363208
4|Enabling Only Statistics of Interest|sgi_html/ch23.html#id5363219
4|Controlling Update Rate|sgi_html/ch23.html#id5363306
3|Statistics Output|sgi_html/ch23.html#id5363342
4|Printing|sgi_html/ch23.html#id5363352
4|Copying|sgi_html/ch23.html#id5363431
4|Querying|sgi_html/ch23.html#id5363590
3|Customizing Displays|sgi_html/ch23.html#id5363766
3|Setting Update Rate|sgi_html/ch23.html#LE55501-PARENT
3|The pfStats Data Structure|sgi_html/ch23.html#id5363823
3|Setting Statistics Class Enables and Modes|sgi_html/ch23.html#id5364087
1|Chapter 24. Performance Tuning and Debugging|sgi_html/ch24.html
2|Performance Tuning Overview|sgi_html/ch24.html#id5364306
2|How OpenGL Performer Helps Performance|sgi_html/ch24.html#id5364490
3|Draw Stage and Graphics Pipeline Optimizations|sgi_html/ch24.html#id5364519
3|Cull and Intersection Optimizations|sgi_html/ch24.html#id5365218
3|Application Optimizations|sgi_html/ch24.html#id5365602
2|Specific Guidelines for Optimizing Performance|sgi_html/ch24.html#id5365858
3|Graphics Pipeline Tuning Tips|sgi_html/ch24.html#id5365909
4|Host Bottlenecks|sgi_html/ch24.html#id5365951
4|Transform Bottlenecks|sgi_html/ch24.html#id5366044
4|Fill Bottlenecks|sgi_html/ch24.html#id5366344
3|Process Pipeline Tuning Tips|sgi_html/ch24.html#id5366698
4|Cull Process Tips|sgi_html/ch24.html#id5367258
4|Draw Process Tips|sgi_html/ch24.html#id5367396
4|Efficient Intersection and Traversals|sgi_html/ch24.html#LE59086-PARENT
3|Database Concerns|sgi_html/ch24.html#LE40195-PARENT
4|libpr Databases|sgi_html/ch24.html#id5368213
4|libpf Databases|sgi_html/ch24.html#id5368370
4|Balancing Cull and Draw Processing with Database Hierarchy|sgi_html/ch24.html#LE31774-PARENT
4|Graphics and Modeling Techniques to Improve Performances|sgi_html/ch24.html#id5368975
3|Special Coding Tips|sgi_html/ch24.html#id5369322
2|Performance Measurement Tools|sgi_html/ch24.html#LE82953-PARENT
3|Using pixie, prof, and gprof to Measure Performance|sgi_html/ch24.html#id5369778
3|Using ogldebug to Observe Graphics Calls|sgi_html/ch24.html#id5370193
2|Guidelines for Debugging|sgi_html/ch24.html#LE68076-PARENT
3|Shared Memory|sgi_html/ch24.html#LE31591-PARENT
3|Use the Simplest Process Model|sgi_html/ch24.html#id5370755
3|Avoid Floating-Point Exceptions|sgi_html/ch24.html#id5370976
3|When the Debugger Will Not Give You a Stack Trace|sgi_html/ch24.html#id5371077
3|Tracing Members of OpenGL Performer Objects|sgi_html/ch24.html#id5371221
2|Memory Corruption and Leaks|sgi_html/ch24.html#LE76574-PARENT
3|Purify|sgi_html/ch24.html#id5371412
3|libdmalloc (IRIX only)|sgi_html/ch24.html#id5371535
2|Notes on Tuning for RealityEngine Graphics|sgi_html/ch24.html#LE84395-PARENT
3|Multisampling|sgi_html/ch24.html#LE22606-PARENT
3|Transparency|sgi_html/ch24.html#id5371919
3|Texturing|sgi_html/ch24.html#id5372056
3|Other Tips|sgi_html/ch24.html#id5372165
2|EventView&#8212;A Performance Analyzer|sgi_html/ch24.html#id5372228
3|Viewing Events&#8212;evanalyzer|sgi_html/ch24.html#LE10288-PARENT
3|Controlling the Collection of OpenGL Performer Internal Events|sgi_html/ch24.html#LE36664-PARENT
3|Sample Use of EventView|sgi_html/ch24.html#LE34965-PARENT
4|The Simplest Case|sgi_html/ch24.html#id5372811
4|A More Complex Case|sgi_html/ch24.html#id5372846
3|Using EventView Tools|sgi_html/ch24.html#LE36916-PARENT
4|evpp&#8212;Event Pre-Processor|sgi_html/ch24.html#id5373243
4|evanalyzer&#8212;EventView Graphical Analysis Program|sgi_html/ch24.html#id5373730
4|evhist&#8212;Histogram Generator|sgi_html/ch24.html#id5373975
4|evgraph&#8212;Event Information Plotter|sgi_html/ch24.html#id5374149
3|Understanding OpenGL Performer Internal Events|sgi_html/ch24.html#LE29801-PARENT
4|pfSync() Events|sgi_html/ch24.html#id5374342
4|pfFrame Events|sgi_html/ch24.html#id5374425
4|CULL Process Events|sgi_html/ch24.html#id5374490
4|DRAW Process Events|sgi_html/ch24.html#id5374507
4|Other Events|sgi_html/ch24.html#id5374538
1|Chapter 25. Building a Visual Simulation Application Using libpfv|sgi_html/ch25.html
2|Overview|sgi_html/ch25.html#LE24127-PARENT
2|The Simplest pfvViewer Program|sgi_html/ch25.html#LE32334-PARENT
2|Adding Interaction to a pfvViewer Program|sgi_html/ch25.html#LE14996-PARENT
2|Reading XML Configuration Files|sgi_html/ch25.html#LE26138-PARENT
2|Module Scoping, Multiple Worlds and Multiple Views|sgi_html/ch25.html#LE16445-PARENT
2|Extending a pfvViewer&#8212;Writing Custom Modules|sgi_html/ch25.html#LE41867-PARENT
2|Extending a pfvViewer&#8212;Module Entry Points|sgi_html/ch25.html#LE38465-PARENT
2|Picking, Selection, and Interaction|sgi_html/ch25.html#LE35452-PARENT
2|More Sample Programs, Configuration Files, and Source Code|sgi_html/ch25.html#LE25298-PARENT
1|Chapter 26. Programming with C++|sgi_html/ch26.html
2|Overview|sgi_html/ch26.html#id5377287
2|Class Taxonomy|sgi_html/ch26.html#id5377688
3|Public Structs|sgi_html/ch26.html#id5377793
3|libpr Classes|sgi_html/ch26.html#id5377820
3|libpf Classes|sgi_html/ch26.html#id5377896
3|pfType Class|sgi_html/ch26.html#id5377912
2|Programming Basics|sgi_html/ch26.html#id5377937
3|Header Files|sgi_html/ch26.html#id5377942
3|Creating and Deleting OpenGL Performer Objects|sgi_html/ch26.html#LE65947-PARENT
3|Invoking Methods on OpenGL Performer Objects|sgi_html/ch26.html#id5381682
3|Passing Vectors and Matrices to Other Libraries|sgi_html/ch26.html#id5381702
2|Porting from C API to C++ API|sgi_html/ch26.html#id5381736
3|Typedefed Arrays Versus Structs|sgi_html/ch26.html#id5381876
3|Interface Between C and C++ API Code|sgi_html/ch26.html#id5381950
2|Subclassing pfObjects|sgi_html/ch26.html#id5382153
3|Initialization and Type Definition|sgi_html/ch26.html#id5382302
3|Defining Virtual Functions|sgi_html/ch26.html#id5382593
3|Accessing Parent Class Data Members|sgi_html/ch26.html#id5382726
2|Multiprocessing and Shared Memory|sgi_html/ch26.html#id5382740
3|Initializing Shared Memory|sgi_html/ch26.html#id5382752
4|More on Shared Memory and the Type System|sgi_html/ch26.html#id5383137
4|Virtual Address Spaces and Virtual Functions|sgi_html/ch26.html#id5383213
3|Data Members and Shared Memory|sgi_html/ch26.html#id5383300
4|Non-static Member Data|sgi_html/ch26.html#id5383305
4|Static Member Data|sgi_html/ch26.html#id5383338
3|Multiprocessing and libpf Objects|sgi_html/ch26.html#LE10197-PARENT
2|Performance Hints|sgi_html/ch26.html#id5383579
3|Constructor Overhead|sgi_html/ch26.html#id5383584
3|Math Operators|sgi_html/ch26.html#id5383600
1|Glossary|sgi_html/go01.html
1|Index|sgi_html/ix01.html
# figures |
4|Figure 1-1. Partial Inheritance Graph of OpenGL Performer Data Types|sgi_html/ch01.html#id5178473
2|Figure 2-1. From Scene Graph to Visual Display|sgi_html/ch02.html#id5189578
4|Figure 2-2. Single Graphics Pipeline|sgi_html/ch02.html#id5189992
4|Figure 2-3. Dual Graphics Pipeline|sgi_html/ch02.html#id5190075
4|Figure 2-4. Symmetric Viewing Frustum|sgi_html/ch02.html#id5191384
4|Figure 2-5. Heading, Pitch, and Roll Angles|sgi_html/ch02.html#id5191946
4|Figure 2-6. Single-Channel and Multiple-Channel Display|sgi_html/ch02.html#id5192754
3|Figure 2-7. The libpfmpk Import Operation|sgi_html/ch02.html#id5194604
5|Figure 3-1. Nodes in the OpenGL Performer Hierarchy|sgi_html/ch03.html#id5195194
5|Figure 3-2. Shared Instances|sgi_html/ch03.html#id5197338
5|Figure 3-3. Cloned Instancing|sgi_html/ch03.html#id5197454
4|Figure 3-4. A Scenario for Using Double-Precision Nodes|sgi_html/ch03.html#id5199457
4|Figure 3-5. pfDoubleDCS Nodes in a Scene Graph|sgi_html/ch03.html#id5199520
5|Figure 4-1. Culling to the Frustum|sgi_html/ch04.html#id5205691
5|Figure 4-2. Sample Database Objects and Bounding Volumes|sgi_html/ch04.html#id5205894
4|Figure 4-3. How to Partition a Database for Maximum Efficiency|sgi_html/ch04.html#id5206080
4|Figure 4-4. Intersection Methods|sgi_html/ch04.html#id5213729
4|Figure 5-1. Frame Rate and Phase Control|sgi_html/ch05.html#id5214502
4|Figure 5-2. Level-of-Detail Node Structure|sgi_html/ch05.html#id5215395
4|Figure 5-3. Level-of-Detail Processing|sgi_html/ch05.html#id5215459
3|Figure 5-4. Real Size of Viewport Rendered Under Increasing Stress|sgi_html/ch05.html#id5216864
3|Figure 5-5. Stress Processing|sgi_html/ch05.html#id5217832
5|Figure 5-6. Multiprocessing Models|sgi_html/ch05.html#id5220106
3|Figure 5-7. Loose Culling of pfGeosets|sgi_html/ch05.html#id5223008
4|Figure 5-8. CULL_SIDEKICK Processing|sgi_html/ch05.html#LE18259-PARENT
3|Figure 6-1. Layered Atmosphere Model|sgi_html/ch06.html#id5224457
3|Figure 6-2. Patchy Fog Versus Layered Fog|sgi_html/ch06.html#id5225490
5|Figure 6-3. The Default Simplify Pane|sgi_html/ch06.html#id5231855
5|Figure 6-4. The Simplify Pane for Simplifying an Object|sgi_html/ch06.html#id5232333
4|Figure 7-1. BIN-Format Data Objects|sgi_html/ch07.html#id5238805
4|Figure 7-2. Soma Cube Puzzle in DWB Form|sgi_html/ch07.html#id5239493
4|Figure 7-3. The Famous Teapot in DXF Form|sgi_html/ch07.html#id5239626
4|Figure 7-4. Spacecraft Model in OpenFlight Format|sgi_html/ch07.html#id5240000
4|Figure 7-5. GFO Database of Mies van der Rohe's German Pavilion|sgi_html/ch07.html#id5240298
4|Figure 7-6. Aircar Database in IRIS Inventor Format|sgi_html/ch07.html#id5240796
4|Figure 7-7. LSA-Format City Hall Database|sgi_html/ch07.html#id5241304
4|Figure 7-8. LSB-Format Operating Room Database|sgi_html/ch07.html#id5241451
4|Figure 7-9. SGI Office Building as OBJ Database|sgi_html/ch07.html#id5241805
4|Figure 7-10. Plethora of Polyhedra in PHD Format|sgi_html/ch07.html#id5242204
4|Figure 7-11. Terrain Database Generated by PTU Tools|sgi_html/ch07.html#id5242498
4|Figure 7-12. Model in SGO Format|sgi_html/ch07.html#id5243773
4|Figure 7-13. Sample STLA Database|sgi_html/ch07.html#id5244756
4|Figure 7-14. Early Automobile in SuperViewer SV Format|sgi_html/ch07.html#id5245018
4|Figure 7-15. Maya Export Screen|sgi_html/ch07.html#id5246945
4|Figure 7-16. Maya Export Options|sgi_html/ch07.html#id5246996
4|Figure 8-1. Primitives and Connectivity|sgi_html/ch08.html#id5251943
4|Figure 8-2. pfGeoSet Structure|sgi_html/ch08.html#id5252236
4|Figure 8-3. Indexing Arrays|sgi_html/ch08.html#id5252851
5|Figure 8-4. Deciding Whether to Index Attributes|sgi_html/ch08.html#id5252911
3|Figure 9-1. Class Hierarchy for Higher-Order Primitives|sgi_html/ch09.html#id5261787
4|Figure 9-2. Parametric Curve: Parameter Interval (0,1).|sgi_html/ch09.html#id5262344
4|Figure 9-3. Line in the Plane Parameterization|sgi_html/ch09.html#id5262930
4|Figure 9-4. Circle in the Plane Parameterization|sgi_html/ch09.html#id5263240
4|Figure 9-5. Superquadric Curve's Dependence on the Parameter &#945;.|sgi_html/ch09.html#id5263631
4|Figure 9-6. Hermite Spline Curve Parameterization|sgi_html/ch09.html#id5263923
4|Figure 9-7. Discrete Curve Definition|sgi_html/ch09.html#id5265529
4|Figure 9-8. Parametric Surface: Unit-Square Coordinate System|sgi_html/ch09.html#id5267509
4|Figure 9-9. Trim Loops and Trimmed Surface: Both Trim Loops Made of Four Trim Curves|sgi_html/ch09.html#id5267791
4|Figure 9-10. Plane Parameterization|sgi_html/ch09.html#id5268770
4|Figure 9-11. Sphere Parameterization|sgi_html/ch09.html#id5269054
4|Figure 9-12. Cylinder Parameterization|sgi_html/ch09.html#id5269346
4|Figure 9-13. Torus Parameterization|sgi_html/ch09.html#id5269554
4|Figure 9-14. Cone Parameterization|sgi_html/ch09.html#id5269779
4|Figure 9-15. Swept Surface: Moving Reference Frame and Effect of Profile Function|sgi_html/ch09.html#id5270022
4|Figure 9-16. Ruled Surface Parameterization|sgi_html/ch09.html#id5270578
4|Figure 9-17. Coons Patch Construction|sgi_html/ch09.html#id5270933
5|Figure 9-18. NURBS Surface Control Hull Parameterization|sgi_html/ch09.html#id5271498
4|Figure 9-19. Hermite Spline Surface With Derivatives Specified at Knot Points|sgi_html/ch09.html#id5271863
3|Figure 10-1. Topological Relations Maintained by Topology Classes|sgi_html/ch10.html#id5275647
3|Figure 10-2. Consistently Tessellated Adjacent Surfaces and Related Objects|sgi_html/ch10.html#id5275667
2|Figure 11-1. Class Hierarchy for Tessellators|sgi_html/ch11.html#id5277994
4|Figure 11-2. Tessellations Varying With Changes in Control Parameter|sgi_html/ch11.html#id5278111
5|Figure 12-1. pfGeoState Structure|sgi_html/ch12.html#id5293386
5|Figure 12-2. Generating the Color of a Multitextured Pixel|sgi_html/ch12.html#id5293441
5|Figure 14-1. pfPipes Creating pfHyperpipes|sgi_html/ch14.html#id5295005
5|Figure 14-2. Multiple H yperpipes|sgi_html/ch14.html#id5295089
5|Figure 14-3. Default Hyperpipe Mapping to Graphic Pipes|sgi_html/ch14.html#id5295352
4|Figure 14-4. Attaching Objects to the Master pfPipe|sgi_html/ch14.html#id5295842
4|Figure 14-5. Hardware Composition Schemes|sgi_html/ch14.html#id5297590
4|Figure 14-6. Decomposition Modes for pfCompositor|sgi_html/ch14.html#id5297763
3|Figure 15-1. Cliptexture Components|sgi_html/ch15.html#id5301127
4|Figure 15-2. Image Cache Components|sgi_html/ch15.html#id5301287
4|Figure 15-3. Mem Region Update|sgi_html/ch15.html#id5301597
4|Figure 15-4. Tex Region Update|sgi_html/ch15.html#id5301661
4|Figure 15-5. Cliptexture Cache Hierarchy|sgi_html/ch15.html#id5301714
5|Figure 15-6. Invalid Border|sgi_html/ch15.html#id5301892
4|Figure 15-7. Clipcenter Moving|sgi_html/ch15.html#id5301942
4|Figure 15-8. Virtual Cliptexture Concepts|sgi_html/ch15.html#id5302122
4|Figure 15-9. pfMPClipTexture Connections|sgi_html/ch15.html#id5311502
5|Figure 15-10. pfuClipCenterNode Connections|sgi_html/ch15.html#id5312098
4|Figure 15-11. Master and Slave Cliptexture Resource Sharing|sgi_html/ch15.html#id5312280
4|Figure 15-12. Cliptexture Insets|sgi_html/ch15.html#id5315475
5|Figure 15-13. Supersampled Inset Boundary|sgi_html/ch15.html#id5315748
5|Figure 15-14. Offset Slave Tex Regions|sgi_html/ch15.html#id5316767
3|Figure 17-1. Directing Video Output|sgi_html/ch17.html#id5325538
3|Figure 18-1. pfQueue Object|sgi_html/ch18.html#id5326468
4|Figure 18-2. pfCycleBuffer and pfCycleMemory Overview|sgi_html/ch18.html#id5330446
3|Figure 19-1. How pfFlux and Processes Use Frame Numbers|sgi_html/ch19.html#id5332349
4|Figure 19-2. pfFlux Buffer Structure|sgi_html/ch19.html#id5332927
5|Figure 19-3. Timing Diagram Showing the Use of Sync Groups|sgi_html/ch19.html#id5334361
4|Figure 19-4. pfEngine Driving a pfFlux That Animates a pfFCS Node|sgi_html/ch19.html#id5334664
4|Figure 20-1. Morphing Range Between LODs|sgi_html/ch20.html#id5338252
4|Figure 20-2. Large Geometry|sgi_html/ch20.html#id5338324
3|Figure 20-3. ASD Information Flow|sgi_html/ch20.html#id5338479
3|Figure 20-4. A Very Simple pfASD|sgi_html/ch20.html#id5338536
4|Figure 20-5. Reference Posit ions|sgi_html/ch20.html#id5338846
4|Figure 20-6. Triangulated Image|sgi_html/ch20.html#id5338946
4|Figure 20-7. LOD1 Replaced by LOD2|sgi_html/ch20.html#id5338981
3|Figure 20-8. Data Structures|sgi_html/ch20.html#id5339205
3|Figure 20-9. ASD Data Structures|sgi_html/ch20.html#id5339340
5|Figure 20-10. Discontinuous, Neighboring LODs|sgi_html/ch20.html#id5339782
5|Figure 20-11. Triangle Mesh|sgi_html/ch20.html#id5339868
5|Figure 20-12. Using the tsid Field|sgi_html/ch20.html#id5340013
5|Figure 20-13. Vertex and Reference Point Arrays, Counter-Clockwise Ordering|sgi_html/ch20.html#id5340194
4|Figure 20-14. V ertex Neighborhoods|sgi_html/ch20.html#id5340770
3|Figure 20-15. pfASD Evaluation Process|sgi_html/ch20.html#id5341798
4|Figure 20-16. Example Setup for Geometry Alignment|sgi_html/ch20.html#id5341931
4|Figure 20-17. Aligning Light Points Above a pfASD Surface|sgi_html/ch20.html#id5342149
4|Figure 20-18. Tiles at Different LODs|sgi_html/ch20.html#id5342362
3|Figure 21-1. VASI Landing Light|sgi_html/ch21.html#id5342849
4|Figure 21-2. Attenuation Shape|sgi_html/ch21.html#id5343246
5|Figure 21-3. Attenuation of Light|sgi_html/ch21.html#id5343363
4|Figure 21-4. Lit Multisamples|sgi_html/ch21.html#id5344114
4|Figure 21-5. Calligraphic Hardware Configuration|sgi_html/ch21.html#id5345339
3|Figure 23-1. Stage Timing Statistics Display|sgi_html/ch23.html#id5359919
4|Figure 23-2. Conceptual Diagram of a Draw-Stage Timing Line|sgi_html/ch23.html#id5360274
5|Figure 23-3. Other Statistics Classes|sgi_html/ch23.html#id5361247
4|Figure 24-1. The evanalyzer Main Display|sgi_html/ch24.html#id5372433
5|Figure 24-2. User Event myDrawCB|sgi_html/ch24.html#id5373009
5|Figure 24-3. Up-Close View of a Single Event|sgi_html/ch24.html#id5373762
5|Figure 24-4. evhist Sample Screen|sgi_html/ch24.html#id5374032
5|Figure 24-5. evgraph Sample Screen|sgi_html/ch24.html#id5374179
# tables |
4|Table 1-1. Routines that Modify libpr Object Reference Counts|sgi_html/ch01.html#id5187921
3|Table 2-1. Attributes in the Share Mask of a Channel Group|sgi_html/ch02.html#id5193408
5|Table 3-1. OpenGL Performer Node Types|sgi_html/ch03.html#id5195251
4|Table 3-2. pfGroup Functions|sgi_html/ch03.html#id5196609
4|Table 3-3. pfDCS Transformations|sgi_html/ch03.html#id5198544
4|Table 3-4. pfFCS Functions|sgi_html/ch03.html#id5198922
4|Table 3-5. pfSequence Functions|sgi_html/ch03.html#id5199922
4|Table 3-6. pfLOD Functions|sgi_html/ch03.html#id5200474
4|Table 3-7. pfLayer Functions|sgi_html/ch03.html#id5200936
4|Table 3-8. pfGeode Functions|sgi_html/ch03.html#id5201397
4|Table 3-9. pfText Functions|sgi_html/ch03.html#id5201850
4|Table 3-10. pfBillboard Functions|sgi_html/ch03.html#id5202440
4|Table 3-11. pfPartition Functions|sgi_html/ch03.html#id5202984
2|Table 4-1. Traversal Attributes for the Major Traversals|sgi_html/ch04.html#id5203977
5|Table 4-2. Test Instructions|sgi_html/ch04.html#id5208205
5|Table 4-3. Assign Instructions|sgi_html/ch04.html#id5208393
5|Table 4-4. Jump Instructions|sgi_html/ch04.html#id5208685
5|Table 4-5. Functions Available for User-Defined Cull Program Instructions|sgi_html/ch04.html#id5209105
4|Table 4-6. Cull Callback Return Values|sgi_html/ch04.html#id5210094
4|Table 4-7. Intersection-Query Token Names|sgi_html/ch04.html#id5211867
5|Table 4-8. Database Classes and Corresponding Node Masks|sgi_html/ch04.html#id5212626
5|Table 4-9. Representing Traversal Mask Values|sgi_html/ch04.html#id5212764
4|Table 4-10. Possible Traversal Results|sgi_html/ch04.html#id5213054
4|Table 5-1. Frame Control Functions|sgi_html/ch05.html#id5214158
4|Table 5-2. LOD Transition Zones|sgi_html/ch05.html#id5216168
4|Table 5-3. Multiprocessing Models|sgi_html/ch05.html#id5218327
4|Table 5-4. Trigger Routines and Associated Processes|sgi_html/ch05.html#id5221816
3|Table 6-1. pfEarthSky Functions|sgi_html/ch06.html#id5224517
3|Table 6-2. pfEarthSky Attributes|sgi_html/ch06.html#id5224806
4|Table 6-3. pfVolFog Functions|sgi_html/ch06.html#id5225792
4|Table 6-4. pfVolFog Attributes|sgi_html/ch06.html#id5226387
4|Table 6-5. pfVolFog Flags|sgi_html/ch06.html#id5227101
4|Table 6-6. pfShadow Functions|sgi_html/ch06.html#id5229502
4|Table 6-7. pfShadow Attributes|sgi_html/ch06.html#id5229872
5|Table 6-8. Key Command-Line Options of makeProxyImages |sgi_html/ch06.html#id5232650
3|Table 7-1. Database-Importer Source Directories|sgi_html/ch07.html#id5233778
4|Table 7-2. libpfdu Database Converter Functions|sgi_html/ch07.html#id5234080
5|Table 7-3. Loader Name Composition|sgi_html/ch07.html#id5234686
4|Table 7-4. libpfdu Database Converter Management Functions|sgi_html/ch07.html#id5235141
4|Table 7-5. pfdBuilder Modes and Attributes|sgi_html/ch07.html#id5237070
3|Table 7-6. Supported Database Formats|sgi_html/ch07.html#id5237993
4|Table 7-7. Geometric Definitions in LSA Files|sgi_html/ch07.html#id5241085
4|Table 7-8. RPC Converter Values|sgi_html/ch07.html#id5243127
4|Table 7-9. RPC Converter Attributes|sgi_html/ch07.html#id5243391
4|Table 7-10. Object Tokens in the SGO Format|sgi_html/ch07.html#id5243898
4|Table 7-11. Mesh Control Tokens in the SGO Format|sgi_html/ch07.html#id5244169
3|Table 7-12. OpenGL Performer Pseudo Loaders|sgi_html/ch07.html#id5245903
4|Table 7-13. Default Path for the Maya Export Plug-in|sgi_html/ch07.html#id5246807
4|Table 7-14. Maya Export Options|sgi_html/ch07.html#id5247026
5|Table 7-15. Maya Features Supported by the Exporter|sgi_html/ch07.html#id5247546
5|Table 7-16. Maya Exporter Support for UV Mapping Methods|sgi_html/ch07.html#id5248334
5|Table 7-17. Maya Exporter Support for Material Properties|sgi_html/ch07.html#id5248585
5|Table 7-18. Maya Exporter Support for Texture Properties|sgi_html/ch07.html#id5248882
3|Table 8-1. pfGeoSet Routines|sgi_html/ch08.html#id5249464
4|Table 8-2. Geometry Primitives|sgi_html/ch08.html#id5250379
5|Table 8-3. pfGeoSet PACKED_ATTR Formats|sgi_html/ch08.html#id5251624
4|Table 8-4. Attribute Bindings|sgi_html/ch08.html#id5252404
4|Table 8-5. Information Obtained from a pfHit|sgi_html/ch08.html#id5257819
4|Table 8-6. pfFont Routines|sgi_html/ch08.html#id5259176
4|Table 8-7. pfString Routines|sgi_html/ch08.html#id5259901
5|Table 10-1. Topology Building Methods|sgi_html/ch10.html#id5276150
4|Table 10-2. Adding Topology and Tessellations to .iv and .csb Files|sgi_html/ch10.html#id5276911
4|Table 10-3. Reading and Writing .pfb Files: with and without Tessellations|sgi_html/ch10.html#id5277112
4|Table 12-1. pfGeoState Mode Tokens|sgi_html/ch12.html#id5280451
5|Table 12-2. pfTransparency Tokens|sgi_html/ch12.html#id5281421
4|Table 12-3. pfGeoState Value Tokens|sgi_html/ch12.html#id5282762
4|Table 12-4. Enable and Disable Tokens|sgi_html/ch12.html#id5282962
4|Table 12-5. Rendering Attribute Tokens|sgi_html/ch12.html#id5283517
5|Table 12-6. Texture Image Sources|sgi_html/ch12.html#id5285043
5|Table 12-7. Texture Load Modes|sgi_html/ch12.html#id5286087
5|Table 12-8. Texture Generation Modes|sgi_html/ch12.html#id5287780
5|Table 12-9. pfFog Tokens|sgi_html/ch12.html#id5289152
5|Table 12-10. pfHlightMode() Tokens|sgi_html/ch12.html#id5289719
4|Table 12-11. Matrix Manipulation Routines|sgi_html/ch12.html#id5290330
4|Table 12-12. pfSprite Rotation Modes|sgi_html/ch12.html#id5290881
5|Table 12-13. pfGeoState Routines|sgi_html/ch12.html#id5292909
4|Table 14-1. pfPipeWindow Functions That Do Not Propagate|sgi_html/ch14.html#id5295887
4|Table 14-2. Functions for Managing Compositors|sgi_html/ch14.html#id5297864
4|Table 14-3. Load Balancing Functions|sgi_html/ch14.html#id5299564
4|Table 15-1. Tiling Algorithms|sgi_html/ch15.html#id5303711
5|Table 15-2. Image Cache Configuration File Fields|sgi_html/ch15.html#id5307660
5|Table 15-3. Image Tile Filename Tokens|sgi_html/ch15.html#id5308737
5|Table 15-4. Cliptexture Configuration File Fields|sgi_html/ch15.html#id5309395
5|Table 15-5. Parameter Tokens|sgi_html/ch15.html#id5310538
5|Table 15-6. Image Tile Filename Tokens|sgi_html/ch15.html#id5311017
3|Table 16-1. pfWinType() Tokens|sgi_html/ch16.html#id5318143
3|Table 16-2. pfWinFBConfigAttrs() Tokens|sgi_html/ch16.html#id5318888
3|Table 16-3. Window System Types|sgi_html/ch16.html#id5320121
3|Table 16-4. pfWinMode() Tokens|sgi_html/ch16.html#id5320677
4|Table 17-1. pfPWinType Tokens|sgi_html/ch17.html#id5322698
4|Table 17-2. Processes From Which to Call Main pfPipeWindow Functions|sgi_html/ch17.html#id5323887
5|Table 18-1. Thread Information|sgi_html/ch18.html#id5326837
5|Table 18-2. Default Input and Output Ranges|sgi_html/ch18.html#id5327414
4|Table 18-3. pfVClock Routines|sgi_html/ch18.html#id5328019
3|Table 18-4. Memory Allocation Routines|sgi_html/ch18.html#id5328261
3|Table 18-5. pfNotify Routines|sgi_html/ch18.html#id5331168
3|Table 18-6. Error Notification Levels|sgi_html/ch18.html#id5331363
3|Table 18-7. pfFilePath Routines|sgi_html/ch18.html#id5331856
4|Table 19-1. pfEngine Types|sgi_html/ch19.html#id5335020
4|Table 20-1. Fields in the Triangle Data Structure|sgi_html/ch20.html#id5339414
4|Table 21-1. Raster Versus Calligraphic Displays|sgi_html/ch21.html#id5344816
3|Table 22-1. Routines for 3-Vectors|sgi_html/ch22.html#id5347602
3|Table 22-2. Routines for 4x4 Matrices|sgi_html/ch22.html#id5349492
3|Table 22-3. Routine s for Quaternions|sgi_html/ch22.html#id5352996
3|Table 22-4. Matrix Stack Routines|sgi_html/ch22.html#id5353916
4|Table 22-5. Routines to Create Bounding Volumes|sgi_html/ch22.html#id5355433
4|Table 22-6. Routines to Extend Bounding Volumes|sgi_html/ch22.html#id5355785
4|Table 22-7. Routines to Transform Bounding Volumes|sgi_html/ch22.html#id5356073
4|Table 22-8. Testing Points for Inclusion in a Bounding Volume|sgi_html/ch22.html#id5356394
4|Table 22-9. Testing Volume Intersections|sgi_html/ch22.html#id5356712
4|Table 22-10. Intersection Results|sgi_html/ch22.html#id5357142
4|Table 22-11. Available Intersection Tests|sgi_html/ch22.html#id5358511
5|Table 22-12. Discriminator Return Values|sgi_html/ch22.html#id5359002
3|Table 26-1. Corresponding Routines in the C and C++ API|sgi_html/ch26.html#id5377506
4|Table 26-2. Header Files for libpf Scene Graph Node Classes|sgi_html/ch26.html#id5378013
4|Table 26-3. Header Files for Other libpf Classes|sgi_html/ch26.html#id5378873
4|Table 26-4. Header Files for libpr Graphics Classes|sgi_html/ch26.html#id5379490
4|Table 26-5. Header Files for Other libpr Classes|sgi_html/ch26.html#id5380342
4|Table 26-6.  Data and Functions Provided by User Subclasses|sgi_html/ch26.html#id5382330
# examples |
4|Example 1-1. How to Use User Data|sgi_html/ch01.html#LE74828-PARENT
4|Example 1-2. Objects and Reference Counts|sgi_html/ch01.html#LE55683-PARENT
4|Example 1-3. Using pfDelete() with libpr Objects|sgi_html/ch01.html#LE12730-PARENT
4|Example 1-4. Using pfDelete() with libpf Objects|sgi_html/ch01.html#LE35315-PARENT
4|Example 1-5. Using pfCopy()|sgi_html/ch01.html#LE97628-PARENT
4|Example 1-6. General-Purpose Scene Graph Traverser|sgi_html/ch01.html#LE45205-PARENT
4|Example 2-1. pfPipes in Action|sgi_html/ch02.html#LE25912-PARENT
4|Example 2-2. Using pfChannels|sgi_html/ch02.html#LE21330-PARENT
4|Example 2-3. Multiple Channels, One Channel per Pipe|sgi_html/ch02.html#LE68998-PARENT
3|Example 2-4. Channel Sharing|sgi_html/ch02.html#LE61437-PARENT
5|Example 3-1. Making a Scene|sgi_html/ch03.html#LE77614-PARENT
4|Example 3-2. Hierarchy Construction Using Group Nodes|sgi_html/ch03.html#LE37708-PARENT
5|Example 3-3. Creating Cloned Instances|sgi_html/ch03.html#LE52059-PARENT
4|Example 3-4. Automatically Updating a Bounding Volume|sgi_html/ch03.html#LE80154-PARENT
4|Example 3-5. Using pfSwitch and pfSequence Nodes|sgi_html/ch03.html#LE68590-PARENT
4|Example 3-6. Marking a Runway with a pfLayer Node|sgi_html/ch03.html#LE54929-PARENT
4|Example 3-7. Adding pfGeoSets to a pfGeode|sgi_html/ch03.html#LE30936-PARENT
4|Example 3-8. Adding pfStrings to a pfText|sgi_html/ch03.html#LE37547-PARENT
4|Example 3-9. Setting Up a pfBillboard|sgi_html/ch03.html#LE73105-PARENT
4|Example 3-10. Setting Up a pfPartition|sgi_html/ch03.html#LE52200-PARENT
3|Example 3-11. Inheritance Demonstration Program|sgi_html/ch03.html#LE60912-PARENT
3|Example 4-1. Application Callback to Make a Pendulum|sgi_html/ch04.html#id5205237
4|Example 4-2. pfNode Draw Callbacks|sgi_html/ch04.html#LE76379-PARENT
3|Example 4-3. Cull-Process Callbacks|sgi_html/ch04.html#LE66523-PARENT
4|Example 4-4. Using Passthrough Data to Communicate with Callback Routines|sgi_html/ch04.html#LE35697-PARENT
5|Example 5-1. Frame Control Excerpt|sgi_html/ch05.html#LE64233-PARENT
4|Example 5-2. Setting LOD Ranges|sgi_html/ch05.html#LE44427-PARENT
3|Example 5-3. Default Stress Function|sgi_html/ch05.html#LE59783-PARENT
3|Example 6-1. How to Configure a pfEarthSky|sgi_html/ch06.html#LE66443-PARENT
4|Example 6-2. Fog initialization Using pfVolFogAddPoint()|sgi_html/ch06.html#id5225661
4|Example 6-3. Specifying Patchy Fog Boundaries Using pfVolFogAddNode()|sgi_html/ch06.html#id5225724
4|Example 8-1. Loading Characters into a pfFont|sgi_html/ch08.html#id5259650
4|Example 8-2. Setting Up and Drawing a pfString|sgi_html/ch08.html#LE22036-PARENT
5|Example 12-1. Using pfDecal() to a Draw Road with Stripes|sgi_html/ch12.html#LE91886-PARENT
5|Example 12-2. Pushing and Popping Graphics State|sgi_html/ch12.html#LE73500-PARENT
4|Example 12-3. Using pfOverride()|sgi_html/ch12.html#LE84470-PARENT
5|Example 12-4. Inheriting State|sgi_html/ch12.html#LE88012-PARENT
5|Example 14-1. Configuring a System with Three Hyperpipe Groups|sgi_html/ch14.html#LE11419-PARENT
5|Example 14-2. Mapping Hyperpipes to Graphic Pipes|sgi_html/ch14.html#LE25179-PARENT
5|Example 14-3. More Complete Example: Mapping Hyperpipes to Graphic Pipes|sgi_html/ch14.html#LE35781-PARENT
5|Example 14-4. Set FBConfigAttrs for Each pfPipeWindow|sgi_html/ch14.html#LE32094-PARENT
5|Example 14-5. Search the pfPipeWindow List of the pfPipe|sgi_html/ch14.html#LE31185-PARENT
5|Example 15-1. Estimating System Memory Requirements|sgi_html/ch15.html#LE77895-PARENT
3|Example 16-1. Opening a pfWindow|sgi_html/ch16.html#LE62293-PARENT
3|Example 16-2. Using the Default Overlay Window|sgi_html/ch16.html#LE68523-PARENT
3|Example 16-3. Creating a Custom Overlay Window|sgi_html/ch16.html#LE20615-PARENT
3|Example 16-4. pfWindows and X Input|sgi_html/ch16.html#LE46355-PARENT
4|Example 17-1. Creating a pfPipeWindow|sgi_html/ch17.html#LE15564-PARENT
4|Example 17-2. pfPipeWindow With Alternate Configuration Windows for Statistics|sgi_html/ch17.html#LE88854-PARENT
4|Example 17-3. Custom Initialization of pfPipeWindow State|sgi_html/ch17.html#LE89828-PARENT
4|Example 17-4. Configuration of a pfPipeWindow Framebuffer|sgi_html/ch17.html#id5324794
4|Example 17-5. Opening and Closing a pfPipeWindow|sgi_html/ch17.html#id5325149
4|Example 19-1. Fluxed pfGeoSet|sgi_html/ch19.html#LE41390-PARENT
3|Example 19-2. Connecting Engines and Fluxes|sgi_html/ch19.html#id5337778
4|Example 20-1. Aligning Light Points Above a pfASD Surface|sgi_html/ch20.html#id5342190
3|Example 21-1. Raster Callback Skeleton|sgi_html/ch21.html#LE46067-PARENT
4|Example 21-2. Preprocessing a Display List - Light Point Process code|sgi_html/ch21.html#LE31904-PARENT
4|Example 21-3. Setting pfCalligraphic Parameters|sgi_html/ch21.html#LE51944-PARENT
3|Example 21-4. Calligraphic Lights|sgi_html/ch21.html#LE41802-PARENT
3|Example 22-1. Matrix and Vector Math Examples|sgi_html/ch22.html#id5352767
3|Example 22-2. Quaternion Example|sgi_html/ch22.html#id5353800
4|Example 22-3. Quick Sphere Culling Against a Set of Half-Spaces|sgi_html/ch22.html#LE81425-PARENT
4|Example 22-4. Intersecting a Segment With a Convex Polyhedron|sgi_html/ch22.html#LE95419-PARENT
3|Example 22-5. Intersection Routines in Action|sgi_html/ch22.html#LE70225-PARENT
4|Example 26-1. Valid Creation of Objects in C++|sgi_html/ch26.html#id5381574
4|Example 26-2. Invalid Creation of Objects in C++|sgi_html/ch26.html#LE51323-PARENT
4|Example 26-3. Class Definition for a Subclass of pfDCS|sgi_html/ch26.html#id5382559
4|Example 26-4. Overloading the libpf Application Traversal|sgi_html/ch26.html#id5382644
5|Example 26-5. Changeable Static Data Member|sgi_html/ch26.html#id5383394
# procedures |
# helpids |

