arrays and index arrays because all the primitives in a geoset are of the same type and have the same attributes rendering of most databases is performed at a maximum hardware speed geostates provide graphics state definitions e g texture or material for geosets layered above libpr is libpf a real time visual simulation environment providing a high performance multi process database rendering system that optimizes use of multiprocessing hardware the database utility library libpfdu provides functions for defining both geometric and appearance attributes of 3 d objects shares states and materials and generates triangle strips from independent polygonal input the database library libpfdb uses the facilities of libpfdu libpf and libpr to import database files in a number of industry standard database formats the libpfui is a user interface library that provides building blocks for writing manipulation components for user interfaces c and c programming languages finally the libpfutil is the utility library that provides routines for implementing tasks and graphical user interface gui tools an application program which uses opengl performer u00ae and opengl u00ae api typically performs the following steps in preparing for real time 3 d visual simulation 1 initialize opengl performer u00ae 2 specify number of graphics pipelines choose the multiprocessing configuration and specify hardware mode as needed 3 initialize chosen multiprocessing mode 4 initialize frame rate and set frame extend policy 5 create configure and open windows as required and 6 create and configure display channels as required once the application program has created a graphical rendering environment by carrying out steps 1 through 6 above then the application program typically iterates through the following main simulation loop once per frame 1 compute dynamics update model matrices etc 2 delay.