Jump to content

OpenGL Performer

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jharrell (talk | contribs) at 04:27, 9 July 2003. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is a library of utility code built on top of OpenGL for the purpose of enabling hard real-time visual simulation applications. OpenGL Performer was developed by SGI, who continues to maintain and enhance it. OpenGL Performer is available for IRIX, Linux, and several versions of Microsoft Windows. Both ANSI C and C++ bindings are available.

Performer consists primarily of two libraries: the lower-level libpr and the higher-level libpf. The libpr library provides an object-oriented interface to high-speed rendering functions based on the concept of a pfGeoSet and a pfGeoState. A pfGeoSet is a collection of graphics primitives, such as polygons or lines. A pfGeoState encapsulates properties pertaining to a given pfGeoSet such as lighting, transparency, and texturing.

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. This library also provides transparent support for multiple viewports spread across multiple graphics pipelines.

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.