Open Inventor
   HOME

TheInfoList



OR:

Open Inventor, originally IRIS Inventor, is a
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
retained mode Retained mode in computer graphics is a major pattern of API design in graphics libraries, in which * the graphics library, instead of the client, retains the scene (complete object model of the rendering primitives) to be rendered and * the c ...
3D graphics toolkit designed by
SGI SGI may refer to: Companies *Saskatchewan Government Insurance *Scientific Games International, a gambling company *Silicon Graphics, Inc., a former manufacturer of high-performance computing products *Silicon Graphics International, formerly Rac ...
to provide a higher layer of programming for
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
. Its main goals are better programmer convenience and efficiency. Open Inventor exists as both
proprietary software Proprietary software is software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern copyright and int ...
and
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, subject to the requirements of the
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL), version 2.1.


Early history

Around 1988–1989,
Wei Yen Wei Yen () is a Taiwanese-American technologist and serial entrepreneur. He has been involved with several companies, including most recently as Chairman and Founder of AiLive. Yen received his Ph.D. in Electrical Engineering in Operating Syste ...
asked Rikk Carey to lead the IRIS Inventor project. Their goal was to create a toolkit that made developing 3D graphics applications easier to do. The strategy was based on the premise that people were not developing enough 3D applications with IRIS GL because it was too time-consuming to do so with the low-level interface provided by IRIS GL. If 3D programming were made easier, through the use of an object oriented API, then more people would create 3D applications and SGI would benefit. Therefore, the credo was always “ease of use” before “performance”, and soon the tagline “3D programming for humans” was being used widely.


Use

OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
(OGL) is a low level
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
that takes lists of simple polygons and renders them as quickly as possible. To do something more practical like “draw a house,”the programmer must break down the object into a series of simple OGL instructions and send them into the engine for rendering. One problem is that OGL performance is highly sensitive to the way these instructions are sent into the system, requiring the user to know which instructions to send and in which order, and forcing them to carefully cull the data to avoid sending in objects that aren't even visible in the resulting image. For simple programs a tremendous amount of programming has to be done just to get started. Open Inventor (OI) was written to address this issue, and provide a common base layer to start working with. Objects could be subclassed from a number of pre-rolled shapes like cubes and polygons, and then easily modified into new shapes. The “world” to be drawn was placed in a
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music *Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who recor ...
run by OI, with the system applying occlusion culling on objects in the graph automatically. OI also included a number of controller objects and systems for applying them to the scene, making common interaction tasks easier. Finally, OI also supplied a common file format for storing “worlds,” and the code to automatically save or load a world from these files. Basic 3D applications could then be written in a few hundred lines under OI, by tying together portions of the toolkit with “glue” code. On the downside OI tended to be slower than hand-written code, as 3D tasks are notoriously difficult to make perform well without shuffling the data in the scene graph by hand. Another practical problem was that OI could only be used with its own file format, forcing developers to write converters to and from the internal system.


Performer

About a year into the Inventor project, a different philosophy began to emerge. Instead of simply making it easy to write applications on SGI systems, the goal was changed to make it difficult to write slow applications. Members of the Inventor team left to form their own group, which founded the basis of the
OpenGL Performer {{unreferenced, date=September 2009 OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is a commercial library of utility code built on top of OpenGL for the purpose of enabling hard real-time visual sim ...
project. Performer was also based on an internal scene graph, but was allowed to modify it for better speed as it saw fit, even dropping “less important” objects and polygons in order to maintain guaranteed performance levels. Performer also used a number of processes to run tasks in parallel for added performance, allowing it to be run (in one version) on multiple processors. Unlike Inventor, Performer remained proprietary so that SGI would have the agility to modify the API as needed to keep in step with the latest hardware enhancements.


Mid 1990s

At some point in the mid-1990s it was realized that there was no good reason that the two systems could not be combined, resulting in a single high-level API with both performance and programmability. SGI started work on yet another project aimed at merging the two, eventually culminating in Cosmo 3D. However Cosmo had a number of practical problems that could have been avoided with better design. Eventually all of these ideas would come together to create the OpenGL++ effort, along with
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
, IBM and DEC. Essentially a cleaned up and more “open” version of Cosmo 3D, work on Cosmo ended and SGI turned to OpenGL++ full-time. The OpenGL++ effort would drag on and eventually be killed, and SGI then tried again with
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
with the similar
Fahrenheit The Fahrenheit scale () is a temperature scale based on one proposed in 1724 by the physicist Daniel Gabriel Fahrenheit (1686–1736). It uses the degree Fahrenheit (symbol: °F) as the unit. Several accounts of how he originally defined his ...
project, which also died. In 1994 SGI licensed Open Inventor to two third-party developers, Template Graphics Software (TGS) and Portable Graphics; in 1996 TGS bought Portable Graphics, making them the sole licensee.


Recent history

After many years of being solely available under proprietary licensing from TGS, now FEI, Inventor has been released under the
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
open source license An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compan ...
, in August 2000, which is available from SGI. At approximately the same time, an API clone library called
Coin3D Coin3D is a free and open-source implementation (library) of the Open Inventor API. Coin3D was originally developed and maintained as commercial software by the Norwegian company Kongsberg Oil & Gas Technologies (formerly Kongsberg SIM). Coin3 ...
was released by the company SIM (Systems in Motion). SIM was later acquired by the Kongsberg group and re-branded as
Kongsberg SIM Kongsberg () is a historical mining town and municipality in Buskerud, Viken county, Norway. The city is located on the river Numedalslågen at the entrance to the valley of Numedal. Kongsberg has been a centre of silver mining, arms production ...
. The Coin library had been written in a
clean room A cleanroom or clean room is an engineered space, which maintains a very low concentration of airborne particulates. It is well isolated, well-controlled from contamination, and actively cleansed. Such rooms are commonly needed for scientif ...
fashion from scratch, sharing no code with the original SGI Inventor library, but implementing the same API for compatibility reasons. Kongsberg ended development of Coin3D in 2011 and released the code under the BSD 3-clause license. The open source version from SGI is not currently maintained and SGI has not shown any commitment to do further development of the library. However, the open source release is used in MeVisLab (MeVis Medical Solutions AG and Fraunhofer MEVIS) and development on it continues.MeVisLab
/ref> Thermo Scientific Open Inventor is still thriving, under active development and has added numerous improvements to the original Inventor API specifically for
medical imaging Medical imaging is the technique and process of imaging the interior of a body for clinical analysis and medical intervention, as well as visual representation of the function of some organs or tissues (physiology). Medical imaging seeks to rev ...
,
medical image computing Medical image computing (MIC) is an interdisciplinary field at the intersection of computer science, information engineering, electrical engineering, physics, mathematics and medicine. This field develops computational and mathematical methods fo ...
, 3D
reflection seismology Reflection seismology (or seismic reflection) is a method of exploration geophysics that uses the principles of seismology to estimate the properties of the Earth's subsurface from reflected seismic waves. The method requires a controlled seismi ...
, and
petroleum reservoir A petroleum reservoir or oil and gas reservoir is a subsurface accumulation of hydrocarbons contained in porous or fractured rock formations. Such reservoirs form when kerogen (ancient plant matter) is created in surrounding rock by the presence ...
modeling. The Open Inventor API is still commonly used for a wide range of scientific and engineering visualization systems around the world, having proven itself well designed for effective development of complex 3D application software. In 2004, TGS was acquired by
Mercury Computer Systems Mercury Systems, Inc. is a technology company serving the aerospace and defense industry. It designs, develops and manufactures open architecture computer hardware and software products, including secure embedded processing modules and subsystem ...
, and in June 2009, the entity became an independent company again calle
Visualization Sciences Group (VSG)
In 2012, VSG was acquired by
FEI Company FEI Company (Field Electron and Ion Company, FEI) is an American company that designs, manufactures, and supports microscope technology. Headquartered in Hillsboro, Oregon, FEI has over 2,800 employees and sales and service operations in more tha ...
. In 2016,
FEI Company FEI Company (Field Electron and Ion Company, FEI) is an American company that designs, manufactures, and supports microscope technology. Headquartered in Hillsboro, Oregon, FEI has over 2,800 employees and sales and service operations in more tha ...
was acquired by
Thermo Fisher Scientific Thermo Fisher Scientific Inc. is an American supplier of scientific instrumentation, reagents and consumables, and software services. Based in Waltham, Massachusetts, Thermo Fisher was formed through the merger of Thermo Electron and Fisher S ...
(Materials & Structural Analysis Division), which continues to develop and suppor
Open Inventor


References

{{reflist


External links


Official SGI Open Inventor Site

Thermo Scientific Open Inventor
Commercial implementation of the API
Open Inventor Users' Forum

Coin3D
Independent implementation of the API 3D scenegraph APIs Application programming interfaces C Sharp libraries C++ libraries Cross-platform software Graphics libraries Java (programming language) libraries Java development tools OpenGL Software development kits Software that uses Qt Virtual reality