gopt(3pf) OpenGL Performer 3.2.2 libpfdb Reference Pages gopt(3pf)NAMEpfdLoadFile_gopt - Pseudoloader for generating optimized Performer scene
graphs
FUNCTION SPECIFICATION
pfNode* pfdLoadFile_gopt(const char *fileName);
DESCRIPTIONpfdLoadFile_gopt loads a database file and performs several key
optimizations which may improve performance of the scene graph. The
fileName is specified in one of two formats:
file.ext.<parameters>.gopt
In this format, parameters is a comma separated list of keywords or
keyword=value pairs. The following are legal keywords:
aggressive
conservative
indexedtris
merge
nomerge
staticswitches
staticlods
staticsequences
strip
unstrip
join
nojoin
cachereuse
reducedegens
noreorder
breakup
nobreakup
spatialize
nospatialize
geoset
geoarray
indexed
unindexed
Each of these keywords enables or disables a related operation or mode of
the pfdOptimizeGraph pipeline, which consists of pfdMergeGraph,
pfdStripGraph, and finally pfdSpatializeGraph. For example, including
the merge keyword adds the PFD_MERGE_GEOSETS flag to all operations,
while including the nomerge keyword removes the PFD_MERGE_GEOSETS flag
from all operations. The strip and unstrip keywords similarily, with the
first forcing restripping of all primitive types (-
PFD_STRIP_UNSTRIPPED_PRIMITIVES and PFD_STRIP_STRIPPED_PRIMITIVES are
both passed in as flags, and PFD_UNSTRIP_STRIPPED_PRIMITIVES is not
passed), while the second forces the opposite behavior.
cachelength=<int>
Page 1
gopt(3pf) OpenGL Performer 3.2.2 libpfdb Reference Pages gopt(3pf)
octree=<int>
striplength=<int>
These parameters must have an integer value following the equals sign,
and will set the related values of the functions to the specified value.
For more information about all the keywords and their functionality, see
pfdOptimizeGraph.
If at least one parameter is specified, then there is no default
operations by the optimizer except those explicitly enabled. That is, if
the fileName is foo.pfb.cachereuse.gopt, then the optimize pipeline will
not join triangle strips, breakup geosets, or spatialize the graph.
Additionally, since some keywords have opposing behavior, the order they
are specified matters. For example, if the file is
foo.pfb.indexed,unindexed.gopt, then the resulting geometry will be non-
indexed.
file.ext.gopt
If this format is specified, then the optimizer uses a default operation
mode, which consists of aggressive optimization, but with no breakup, and
with output to indexed geoarrays. This is equivalent to
file.ext.aggressive,nobreakup,geoarray.gopt.
NOTES
The libpfdb source code, object code and documentation are provided as
unsupported software. Routines are subject to change in future releases.
SEE ALSOpfdLoadFile(3pf), pfdOptimizeGraph
Page 2