OpenInventor is an object-oriented C++ based language that describes complete 3D-scenes which can be made interactive and that are optimized for OpenGL. It is an ASCII file format.
Inventor can be seen as a complete toolkit, consisting of:
The Inventor language contains a large set of predefined objects called nodes such as geometry, properties, groups and manipulators. These nodes are ordered using a scene graph which describes the hierarchy of the nodes. This means that you can have certain objects in the beginning of the file whose behaviour or properties influence other objects.
3D scenes can be constructed containing not only 3D geometry but also lighting, texturing, different camera settings.and animation (A node can also be a transformation). Nodes can also be references to files (for example, images) and external programs, like Midiplayers or WAV-players. To have interactivity with the scene, special nodes like draggers, action nodes and manipulators are included.
Examples of nodes that can compose a scene and provide interactivity
Shape nodes: Cube, Cylinder, Cone, Sphere, Face set, Text2, Line, NURBS, Quad mesh.
Property nodes: Base color, Color index, Complexity, 3D and 4D coords, Environment (for example, fog, haze, light), Font, Lighting model (Base color or Phong), Material, Normal, Pick Style, Texture, Texture Coordinates, Transform, Units.
Group nodes: Annotation, Array, File, Group, Level of detail, Multiple copy.
Actions nodes: Callback, GL render, Get bounding box, Handle event, Highlight render.
Engine and Sensor nodes: Blinker, Engine classes, Pendulum, Rotor, Sensor classes, Shuttle (oscillation).
Interactive 3D Manipulator nodes: Centerball (rotation), Drag point, Handle box (scaling, translation), Light draggers, Rotate draggers, Scale draggers.
Other nodes: Clip plane, Directional light, Label, Orthographic camera, Perspective camera, Point light, Spot light.
Now by using the Open Inventor file format and API, you can speed up the programming of OpenGL up to 10 times, and Inventor-viewers (like ivview) are designed specifically for use with OpenGL, resulting in very fast display of the scenes contained in the Inventor file.