NAME¶
ivfix - restructures an Inventor object for improved rendering performance
SYNOPSIS¶
ivfix [
-ahntvV ] [
-d dir ] [infile] [outfile]
DESCRIPTION¶
ivfix reads an Inventor object and restructures it to improve the
object's rendering performance.
ivfix processes the scene graph in two
phases:
- Phase 1)
-
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 nodes.
- Phase 2)
-
"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 be
lost.
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.
- -d dir
- 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.
SOURCE CODE¶
Note that the source code to
ivfix comes with the
Open Inventor 3d
Toolkit.
FILES¶
/usr/share/data/models/* - Sample 3D data files
/usr/share/src/Inventor/tools/ivfix/* - Source to ivfix
EXAMPLES¶
- ivfix < slowObject.iv > quickObject.iv
SEE ALSO¶
inventor, ivview, ivcat, ivinfo, SceneViewer, gview, drop, maze, noodle, revo,
showcase, textomatic
KNOWN BUGS¶
Ignore flags are not properly handled.