OpenGL Performer

Other key features of Performer were the use of symmetric multi-processing capabilities, support multiple graphics pipes and the ability to utilize the scalable resources of high end systems.

Advanced features like database paging, texture paging and point light source management (for flight simulation) and intersection testing for collision detection would also have dedicated processors allowing asynchronous I/O and processing to occur without negatively impacting graphics performance.

Most of this complexity was hidden beneath a simpler scene graph API with relatively high level configuration calls which could be made to set up the threads and inter-process communication.

The libpr library provides an object-oriented interface to high-speed rendering functions based on the concept of a pfGeoSet and a pfGeoState.

The libpf library includes functions for the generation and manipulation of hierarchical scene graphs, scene processing (simulation, intersection, culling, and drawing tasks), level-of-detail management, asynchronous database paging, dynamic coordinate systems, environment models, light points, and so on.

Other Performer libraries--libpfutil, libpfdb, libpfui, etc.--provide functions for generating optimized geometry, database conversion, device input (such as for interfacing with external flyboxes and MIL-STD-1553 mux busses), motion models, collision models, and a format-independent database interface that supports common data formats such as Open Inventor, OpenFlight, Designer's Workbench, Medit, and Wavefront .obj file.