ivFix restructures an Open Inventor scene graph for improved rendering performance.
The second phase consists of "flattening" the subgraphs that result from the first phase. This tessellates all shapes into little triangles that are then organized into triangle strips.
Collecting | All shapes in the scene are found and stored with their properties in specialized Shape data structures. |
Sorting | The Shape data structures are sorted based on differences in properties, ranked by frequency of change and cost. |
Merging | Some shapes can be merged into the same group if certain conditions hold. |
Building | A scene graph is constructed from the sorted, merged list of Shape data structures. Phase 2 is then applied to the leaf groups of this graph. |
Flattening | This applies a callback action to tessellate all shapes into little triangles. |
Condensing | This removes duplicate coordinates created in the flattening process. |
Stripping | This produces triangle strips from the individual triangles. |
Matching | This tries to match up and align the coordinate, normal, and texture coordinate index arrays. |
Under the following circumstances, several shapes can be combined into a single indexed triangle strip:
Otherwise, the shapes will be output as individual indexed triangle strip sets or individual indexed face sets.
-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. |
-f | Produce independent faces rather than triangle strips. |
-h | Print the usage message. |
-m | Do not try to match up index arrays. By default, ivfix will attempt to generate arrays of normals, vertices, and texture coordinates suitable for the OpenGL VertexArray primitive. This optimization was added by Mercury Computer Systems. |
-n | Do not generate any normals. |
-p | Do not produce SoVertexProperty nodes for properties. |
-t | Do not generate any texture coordinates. |
-v | (Verbose) Display status information during processing. |
ivFix slowObject.iv quickObject.iv