Open Inventor: Difference between revisions

Content deleted Content added
mNo edit summary
Tags: Mobile edit Mobile app edit iOS app edit
add logo
 
(12 intermediate revisions by 9 users not shown)
Line 1:
{{Short description|3D graphics kernel}}
{{multiple issues|
{{More citations needed|date=September 2009}}
{{Lead too short|date=August 2009}}
}}
{{Infobox software
| name = Open Inventor [by SGI]
| title = Open Inventor [by SGI]
| logo = <!--Logo Imageof nameOpen is enough -->Inventor.gif
| logo caption = Logo of Open Inventor
| logo_size =
| logo_alt =
Line 34 ⟶ 31:
| language footnote =
| genre = 3D graphics toolkit
| license = [[GNU Lesser General Public License]]<ref>{{cite web|url=http://oss.sgi.com/projects/inventor/license.html|title=SGI - Developer Central Open Source - Open Inventor|publisher=|access-date=2013-10-25|archive-date=2017-10-19|archive-url=https://web.archive.org/web/20171019211449/http://oss.sgi.com/projects/inventor/license.html|url-status=dead}}</ref>
| website = {{URL|https://web.archive.org/web/20170811183842/http://oss.sgi.com/projects/inventor/}}
}}
 
'''Open Inventor''', originally '''IRIS Inventor''', is a [[C++]] [[Object-oriented programming|object-oriented]] [[retained mode]] 3D graphics toolkit designed by [[Silicon Graphics|SGI]] to provide a higher layer of programming for [[OpenGL]]. Its main goals are better programmer convenience and efficiency. Open Inventor exists as both [[proprietary software]] and [[free and open-source software]], subject to the requirements of the [[GNU Lesser General Public License]] (LGPL), version 2.1.
 
The primary objective was to make 3D programming accessible by introducing an object-oriented API, allowing developers to create complex scenes without the intricacies of low-level OpenGL. The toolkit incorporated features like scene graphs, pre-defined shapes, and automatic occlusion culling to streamline scene management. While Open Inventor focused on ease of use, the OpenGL Performer project, spawned from the same context, emphasized performance optimization. The two projects later converged in an attempt to strike a balance between accessibility and performance, culminating in initiatives like Cosmo 3D and OpenGL++. These projects underwent various stages of development and refinement, contributing to the evolution of 3D graphics programming paradigms.
 
==Early history==
Line 44 ⟶ 43:
 
==Use==
[[OpenGL]] (OGL) is a low level [[application programming interface]] that takes lists of simple polygons and renders them as quickly as possible. To do something more practical like “draw a househouse”,”the 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]] 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.
Line 59 ⟶ 58:
 
==Recent history==
{{repetition|section|date=August 2014}}
After many years of being solely available under proprietary licensing from TGS, now [[FEI Company|FEI]], Inventor has been released under the [[LGPL]] [[open source license]], in August 2000, which is available from SGI.
 
AtAfter approximatelymany theyears sameof time,being ansolely APIavailable cloneunder libraryproprietary calledlicensing from TGS (now [[Coin3DFEI Company|FEI]]), Inventor was released byunder the company[[LGPL]] [[open source license]] in August 2000 and is available from SGI. Around the same time, the [[Coin3D]] API clone library was released by SIM (Systems in Motion). SIM was later acquired by the Kongsberg group and re-branded asrenamed [[Kongsberg SIM]]. The Coin library had been written in a [[clean room design|clean -room]] 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,<ref>{{cite web|url=https://github.com/coin3d/coin/wiki|title=Coin3D / Coin / wiki / Home — Github|website=[[GitHub]] |date=30 March 2020|publisher=}}</ref> and released the code under the BSD 3-clause license.
 
The open -source version from SGI is not currently maintained, and SGI has not shownindicated anya commitment to do further development ofdevelop the library. However, theThe open -source release is used in MeVisLab (MeVis Medical Solutions AG and Fraunhofer MEVIS), however, and development onof itthat continues.<ref>[http://www.mevislab.de MeVisLab]</ref> Thermo Scientific Open Inventor is still being developed, and has added a number of improvements to the original Inventor API for [[medical imaging]], [[medical image computing]], 3D [[reflection seismology]], and [[petroleum reservoir]] 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 effectivethe development of complex 3D application software.
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 image computing]], 3D [[reflection seismology]], and [[petroleum reservoir]] modeling.
In 2004, TGS was acquired by [[Mercury Computer Systems]], and in June2004. 2009, the entityIt became an independent company again called, [http://www.vsg3d.com [Visualization Sciences Group]] (VSG)], in June 2009. In 2012, VSG was acquired by [[FEI Company]]. In 2016, [[FEI Company]] was acquired in 2016 by the [[Thermo Fisher Scientific]] (Materials & Structural Analysis Division), which continues to develop (and support [http://www.openinventor.com) Open Inventor].
 
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.
 
{{Infobox software
| name = Thermo Scientific Open Inventor
| latest_release_version = 10.0
| latest_release_date = Oct 10, 2018
| platform = [[Windows]] [[Linux]] [[macOS]]
| genre = 3D data visualization SDK
| developer = [[Thermo Fisher Scientific]]
| programming language = [[C++]] [[.NET Framework|.NET]] [[Java (programming language)|Java]]
| license = [[Proprietary software|Proprietary]] [[commercial software]]
(Free for non-commercial academic use)
| website = {{URL|http://thermofisher.com/openinventor}}
}}
In 2004, TGS was acquired by [[Mercury Computer Systems]], and in June 2009, the entity became an independent company again called [http://www.vsg3d.com Visualization Sciences Group (VSG)]. In 2012, VSG was acquired by [[FEI Company]]. In 2016, [[FEI Company]] was acquired by [[Thermo Fisher Scientific]] (Materials & Structural Analysis Division), which continues to develop and support [http://www.openinventor.com Open Inventor].
 
== References ==
Line 92 ⟶ 74:
* [http://forum.openinventor.com Open Inventor Users' Forum]
* [https://github.com/coin3d/coin/wiki Coin3D], Independent implementation of the API
* [https://github.com/YvesBoyadjian/Koin3D Koin3D], LWJGL port of Coin3D
 
[[Category:3D scenegraph APIs]]