ivfix(1)

πŸ’– ivfix(1) πŸ’–

okay so bestie, welcome to ivfix β€” a General Commands Manual page, and honestly? it's giving glow-up for your 3D files. let's get into it πŸ’…


✨ NAME ✨

ivfix β€” restructures an Inventor object for improved rendering performance πŸ¦‹


✨ SYNOPSIS ✨

ivfix [ -ahntvV ] [ -d dir ] [infile] [outfile]

✨ DESCRIPTION ✨

so here's the tea: ivfix reads an Inventor object and restructures it so it renders faster. main character behaviour fr. it does this in two phases:

Phase 1) πŸ”

it looks at how your input scene graph is organised and tries to sort it into a better order so it can take advantage of coherence. like, it tries to group subgraphs by common textures, because switching textures is expensive β€” no cap. once it's sorted everything, it also tries to combine subgraphs so the final result has fewer nodes. decluttering queen πŸ‘‘

Phase 2) πŸŽ€

this is the "flattening" phase. it takes the subgraphs that came out of phase one and flattens them. that means it tessellates all shapes into triangles, and then organises those into triangle strips. for example, two spheres may be combined into one triangle strip. iconic behaviour honestly 🌈

⚠️ 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. so like... know what you're signing up for, bestie πŸ’€

also, note that the output file may actually be larger than the input file. for example, a sphere node will be converted into triangle strips. bigger file, faster render, that's the trade 🫢

the following command line options are allowed:

🌸 the options 🌸

  • -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 ✨

fun fact: the source code to ivfix comes with the Open Inventor 3d Toolkit. so it's right there if you wanna peek 🧚


✨ FILES ✨

  • /usr/share/data/models/* β€” Sample 3D data files πŸ“
  • /usr/share/src/Inventor/tools/ivfix/* β€” Source to ivfix

✨ EXAMPLES ✨

the classic redirection moment:

ivfix < slowObject.iv > quickObject.iv

slow in, quick out. we love a transformation arc πŸ’œ


✨ SEE ALSO ✨

inventor, ivview, ivcat, ivinfo, SceneViewer, gview, drop, maze, noodle, revo, showcase, textomatic


✨ KNOWN BUGS ✨

ignore flags are not properly handled. πŸ™ˆ yeah. that's the whole note. we move.


and that's the page, bestie!! 🫢 this was ivfix(1) from the General Commands Manual β€” signed off as ivfix(1) at the bottom, and ngl there's no date or version stamp in sight, so that's genuinely all the footer gave us. slay, go fix your Inventor objects, ily πŸ’–βœ¨