Open Inventor
| Company type | Software toolkit |
|---|---|
| Industry | Computer graphics, Software development |
| Founded | 1988 |
| Founder | Silicon Graphics, Inc. (SGI) |
| Products | 3D graphics toolkit, scene graph API |
| Owner | Thermo Fisher Scientific (Materials & Structural Analysis Division) |
| Website | www |
Open Inventor, initially known as IRIS Inventor, is a C++-based, object-oriented retained mode 3D graphics toolkit created by SGI to offer a more abstract programming interface on top of OpenGL. Its main purpose is to improve developer productivity and ease of use. Open Inventor is distributed both as proprietary software and as open-source under the GNU Lesser General Public License (LGPL) version 2.1.
This toolkit was developed to streamline 3D application development by providing an object-oriented API that allows programmers to construct intricate scenes without dealing with the complexities of low-level OpenGL operations. Notable capabilities include scene graph management, a library of predefined geometric shapes, and automatic occlusion culling to enhance scene efficiency. While Open Inventor emphasized user-friendliness, the related OpenGL Performer initiative concentrated on maximizing performance. These two efforts later merged in projects such as Cosmo 3D and OpenGL++, which sought to combine ease of use with high performance, influencing the evolution of contemporary 3D graphics programming environments.
Early history
In the period around 1988–1989, Wei Yen appointed Rikk Carey to head the IRIS Inventor initiative, aiming to develop a toolkit that would simplify the creation of 3D graphics applications. This project responded to the limited adoption of 3D software built with IRIS GL, which was hindered by its complex, low-level interface. By delivering an object-oriented API that prioritized usability over raw speed, SGI intended to broaden the market for 3D development. This philosophy gave rise to the slogan “3D programming for humans.”
Use
OpenGL (OGL) functions as a fundamental application programming interface that quickly renders basic polygons but requires significant effort from developers to assemble complex models such as buildings. The performance outcome heavily relies on how rendering commands are structured, necessitating careful optimization of data transmission and visibility management.
Open Inventor (OI) tackled these issues by supplying a standardized foundation including ready-made shapes and a scene graph system that automated visibility determination through occlusion culling. It also incorporated interaction controllers and supported a dedicated file format for storing and retrieving scenes. This framework enabled developers to create simple 3D applications with only a few hundred lines of code.
Despite these advantages, OI typically performed slower than manually optimized implementations due to overhead from managing the scene graph structure. Furthermore, its proprietary file format compelled users to develop conversion tools for compatibility with other systems.
Performer
Approximately one year following the inception of Inventor, a new emphasis emerged on ensuring high performance by discouraging inefficient application designs. A subset of the team initiated the OpenGL Performer project. Performer employed its own internal scene graph but applied aggressive optimizations by eliminating less significant objects and polygons to guarantee consistent performance levels. It utilized multiple processes for parallel execution and included support for multi-processor architectures in certain releases. Unlike Inventor, Performer remained proprietary, enabling SGI to swiftly evolve the API in tandem with hardware improvements.
Mid 1990s
During the mid-1990s, SGI sought to integrate two distinct systems into a unified high-level API that would balance both efficiency and ease of programming, leading to the creation of the Cosmo 3D project. Although promising in concept, Cosmo encountered practical challenges stemming from its design limitations. These developments progressed into the OpenGL++ initiative, a collaboration involving Intel, IBM, and DEC. OpenGL++ represented an improved and more accessible iteration of Cosmo 3D; nevertheless, it was eventually discontinued. Subsequently, SGI collaborated with Microsoft on the comparable Fahrenheit project, which also failed to reach fruition. In 1994, SGI granted licenses for Open Inventor to third-party companies Template Graphics Software (TGS) and Portable Graphics; by 1996, TGS had acquired Portable Graphics, becoming the exclusive license holder.
Recent history
Following years of proprietary licensing managed by TGS (now FEI), SGI released Inventor under the LGPL open-source license in August 2000. Concurrently, SIM (Systems in Motion) introduced Coin3D, an API clone library developed through clean-room engineering to ensure full compatibility without using original source code. SIM was later acquired by Kongsberg Group (renamed Kongsberg SIM), which ceased Coin3D development in 2011 and subsequently published it under the BSD 3-clause license.
The open-source edition maintained by SGI is no longer actively supported, with no announced plans for future updates. Nonetheless, it continues to be utilized within MeVisLab (a collaboration between MeVis Medical Solutions AG and Fraunhofer MEVIS), where ongoing development persists. At the same time, Thermo Scientific Open Inventor advances the foundational API with improvements tailored for applications in medical imaging, medical image computing, 3D reflection seismology, and petroleum reservoir simulation.
Globally, the Open Inventor API remains extensively employed for scientific visualization, engineering applications, and sophisticated 3D software development. The original licensee TGS was acquired by Mercury Computer Systems in 2004, spun off as an independent entity named Visualization Sciences Group (VSG) in 2009, and later purchased by FEI Company in 2012. FEI itself was acquired by Thermo Fisher Scientific’s Materials & Structural Analysis Division in 2016, which continues to maintain and enhance Open Inventor.
External links
- Official SGI Open Inventor Site
- Thermo Scientific Open Inventor, Commercial API implementation
- Open Inventor Users' Forum
- Coin3D, Independent API implementation
- Koin3D, LWJGL port of Coin3D