ivfix - restructures an Inventor object for improved rendering
ivfix [ -ahntvV ] [ -d dir ] [infile] [outfile]
ivfix reads an Inventor object and restructures it to improve the
object’s rendering performance. ivfix processes the scene graph in two
Analyzes the organization of the input scene graph, and tries to
sort it a better way to take advantage of coherence. For
example, it tries to organize subgraphs by common textures,
since switching textures is expensive. Once sorted, it also
tries to combine subgraphs so that the final result has fewer
"Flattens" the subgraphs that result from the first phase. This
tessellates all shapes into triangles that are then organized
into triangle strips. For example, two spheres may be combined
into one triangle strip.
Warning! ivfix does not try to preserve any non-appearance attributes,
such as names. It will also remove most engines, animation nodes, and
field-to-field connections. ivfix is best run on individual objects,
not on entire scenes. When rendered, the output object will be
equivalent to the original file, but much of the object hierarchy will
Note also that the output file may be larger than the input file. For
example, a sphere node will be converted into triangle strips.
The following command line options are allowed:
-a Write an ASCII file. The output file is binary by default.
Add dir to the list of directories to search, e.g. for file nodes.
-h Print the usage message.
-n Do not generate any normals.
-p ivfix usually tries to define properties as SoVertexProperty
nodes. This option prevents that.
-t Do not generate any texture coordinates.
-v (Verbose) Display status information during processing.
-V (Very verbose) Display more detailed status information.
Note that the source code to ivfix comes with the Open Inventor 3d
/usr/share/data/models/* - Sample 3D data files
/usr/share/src/Inventor/tools/ivfix/* - Source to ivfix
ivfix < slowObject.iv > quickObject.iv
inventor, ivview, ivcat, ivinfo, SceneViewer, gview, drop, maze,
noodle, revo, showcase, textomatic
Ignore flags are not properly handled.