Open Source
Open InventorTM General FAQ

What is Open Inventor?

Open Inventor is an object-oriented 3D toolkit offering a comprehensive solution to interactive graphics programming problems. It presents a programming model based on a 3D scene database that dramatically simplifies graphics programming. It includes a rich set of objects such as cubes, polygons, text, materials, cameras, lights, trackballs, handle boxes, 3D viewers, and editors that speed up your programming time and extend your 3D programming capabilities.

Open Inventor:

  • is built on top of OpenGL
  • defines a standard file format for 3D data interchange
  • introduces a simple event model for 3D interaction
  • provides animation objects called Engines
  • provides high performance object picking
  • is window system and platform independent
  • is a cross-platform 3D graphics development system
  • supports PostScript printing
  • encourages programmers to create new customized objects
  • is fun to use

Who is it for?

Open Inventor is the de facto cross-platform standard for 3D graphics in manufacturing and entertainment. It is also strong in academic and research environments, where it is used to teach graphics concepts. Open sourcing Open Inventor will ensure that future generations of students will continue to be exposed to this unique SGI technology.

Why is SGI open-sourcing Open Inventor?

SGI has received numerous requests for a Linux version of Open Inventor. By open-sourcing this toolkit we are making it available on Linux and at the same time enabling this large and very active user community to study, understand and enhance Open Inventor. Earlier this year SGI released the source code of the OpenGL Sample Implementation to the open source community, clearing the way for high-quality OpenGL implementations on Linux. The release of Open Inventor further highlights SGI's commitment to providing hardware and software technologies that are relevant to graphics developers.

How does Open Inventor compare to OpenGL and OpenGL Performer?

Open Inventor is a toolkit at a higher level than OpenGL. Beginning graphics programmers who would find it difficult to write programs by manipulating down to the graphics primitive level of OpenGL, find they can quickly create 3D graphics applications using the Open Inventor Toolkit.

Open Inventor is designed for use in modelling and animation systems by providing a full-featured scene graph with easy X Window system integration and interactive graphics widgets. These qualities allow users to develop applications quickly.

OpenGL Performer is a scene-graph based 3D graphics rendering toolkit designed to extract maximum system performance for developers of real-time visual simulations, virtual reality, and other markets, which typically require higher performance and a fixed frame rate. These applications take advantage of transparent multi-processing, scene and load management, multi-pipe capabilities, and a high degree of optimization and realism offered by OpenGL Performer. The toolkit is available for IRIX and Linux systems.

What are the prerequisites for using Open Inventor?

Open Inventor assumes the user is familiar with basic concepts of 3D graphics programming. For example, it assumes the programmer has a reasonable understanding of the following terms: lighting, rendering, vertex, polygon, light source, picking, matrix, OpenGL, pixel, surface normal. In addition, some familiarity with concepts related to object-oriented programming is assumed.

How do I learn Open Inventor?

    The Inventor Mentor
    This guide provides basic information on programming with Open Inventor. It includes detailed program examples in C++ and describes key aspects of the Open Inventor toolkit, including its 3D scene database, node kits, interactive manipulators, the Inventor Component Library, which contains editors and viewers, and the Open Inventor file format.

    The Inventor ToolMaker
    The Inventor Toolmaker provides advanced information on extending Open Inventor by creating new C++ classes and customizing existing classes. Detailed examples and discussion show how to create new nodes, actions, elements, fields, node kits, draggers, manipulators, engines, and components.

    Open Inventor C++ Reference Pages
    This manual documents all C++ classes and methods in Open Inventor. The manual presents the classes in an alphabetical, reference-style manner. It includes information on default values, action behavior for different Inventor classes, and file format for all Open Inventor classes.

    Open Inventor 2.1 Porting and Performance Tips
    This guide explains how to port your Open Inventor 2.0 application to Open Inventor 2.1. Emphasis is on making the porting process go smoothly and on helping you make your application run as efficiently as possible, using the various performance enhancements provided by Open Inventor 2.1. Some of this information may be IRIX specific, however it also contains valuable information that is OS independent.

    Open Inventor: How to Write an Open Inventor File Translator

    Open Inventor: Nodes Quick Reference

    Sample source code
    Numerous examples of how to use Open Inventor to create applications can be found in the apps subdirectory.

    USENET newsgroup