Misplaced Pages

Open Inventor

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Open Inventor , originally IRIS Inventor , is a C++ object-oriented retained mode 3D graphics toolkit designed by 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.

#97902

35-479: 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

70-478: A multi-processor system designed for a bus architecture based on their Cache Coherence protocol . Yen served as Senior Vice President of Silicon Graphics from 1988 to 1996, where he led development on OpenGL and also served as President of subsidiary MIPS Technologies . In 1996, he left SGI and founded TVsoft, a maker of interactive software for television setup devices. The company was renamed Navio and later merged with Oracle's Network Computer . Subsequently,

105-480: 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 , 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 with

140-419: A part of Acer 's company structure in providing cloud services. iGware changed its name to Acer Cloud Technology Co. and continued to be headed by Yen. As a result of the acquisition, Yen is the second largest shareholder of Acer after founder Stan Shih . Yen is currently the chairman and founder of AiLive , the company that partnered with Nintendo in developing software tools for programmers working with

175-605: 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 renamed Kongsberg SIM . The Coin library had been written in a 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, and released

210-419: Is normally organized as some sort of a tree data structure , with the nodes representing objects, and the edges their relationship to other objects in the world. For instance, a table might be represented by a single "table" object with several edges connecting its parts together, the table top, legs, etc. Key to high performance in 3D applications is deciding what objects in the world are actually visible given

245-519: The API . However, the ARB notes "There's been lots of work, but relatively little communication." While the work on OpenGL++ continued, Sun and SGI had also been working on a 3D standard suitable for Java. These efforts eventually broke down, and Sun went on to release Java3D. SGI suggested their Cosmo work was a sample Java3D implementation, and as this work evolved into OpenGL++ these plans moved with it. During

280-629: The Wii Remote controller and Wii MotionPlus attachment. Yen has been on the board of several prominent companies including Acer , ATI , MoSys , and others. OpenGL plus plus OpenGL++ was a graphics library written in C++ that supported object-oriented data structures on top of the OpenGL 3D graphics system. The project started as the result of a partnership between SGI , IBM and Intel , and later, Digital Equipment Corporation . It

315-506: The "world", but was not particularly easy to use. The Inventor and Performer teams had already realized that there was no particular reason the two systems could not be combined into one, offering both ease-of-development and high-performance. This led to the Cosmo3D system, basically, a standardized high-performance scene graph that sat on top of OpenGL. Cosmo3D introduced a new file format that could be used to store entire scenes and all

350-610: The 3D space to focus on other product niches, SGI was left as the only supporter of the project, exactly what they were trying to avoid. Eventually, the only other company with a 3D focus was Microsoft, and the Fahrenheit project started and ended shortly after the OpenGL++ efforts. Today, no such standardized scene graph exists, and SGI has all but exited the API world. SGI has released the earlier Open Inventor code into open source , but

385-483: The 9–10 December 1996 meeting the group presented the first draft of the OpenGL++ concept. A follow-up meeting during 17–19 February 1997 demonstrated that there was considerable interest from most parties, with the exception of Microsoft and Sun, although there were concerns as to whether or not the ARB was the right body to support such an effort without diluting their primary job of supporting OpenGL. Development continued throughout 1997 including several distributions of

SECTION 10

#1732798688098

420-542: 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,

455-672: The Inventor team left to form their own group, which founded the basis of the OpenGL Performer 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

490-470: The agility to modify the API as needed to keep in step with the latest hardware enhancements. 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

525-509: The code under the BSD 3-clause license. The open-source version from SGI is not maintained, and SGI has not indicated a commitment to further develop the library. The open-source release is used in MeVisLab (MeVis Medical Solutions AG and Fraunhofer MEVIS), however, and development of that continues. Thermo Scientific Open Inventor is still being developed, and has added a number of improvements to

560-744: The company went public as Liberate Technologies in July 1999. Its public offering reached a $ 12 billion valuation in early 2000 with a revenue run rate of $ 25 million. In parallel, Yen founded a company called ArtX , employed with former SGI graphics engineers. ArtX received the contract to deliver the GameCube 's Flipper graphics chip. The company was acquired by ATI in February 2000 for $ 400 million. This led to ATI's greatly improved R300 graphics chip family. Yen later joined ATI's board of directors. With Nintendo , Yen cofounded another company iQue ,

595-427: The credo was always “ease of use” before “performance”, and soon the tagline “3D programming for humans” was being used widely. 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 house”, the programmer must break down the object into a series of simple OGL instructions and send them into

630-414: The current camera position and direction. For instance, objects behind the camera do not have to be drawn. Quick traversal of the scene graph is essential to making this "culling" operation occur quickly. Scene graphs were generally left to the developer to implement, and it was all too common to see poor examples that led to poor performance. SGI had worked on a number of projects that were intended to help

665-425: 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. 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

700-506: The data needed to reconstruct them, the VRML format that is still in use. SGI produced a number of products that used Cosmo3D. Among these were a variety of VRML tools, and a large model visualization system for CAD purposes called OpenGL Optimizer. Oddly, Cosmo Code, a VRML authoring tool, was produced by a different division and did not use the Cosmo scene graph at all. Cosmo's scene graph

735-550: The definition of OpenGL++, Sun stated that they were not interested in working on the effort as they were focussed on their Java3D work. Comparatively, Java3D spans two layers of the 3D stack, the scene graph and the visual interface and its widgets. By late 1997 SGI appeared to be fully committed to the OGL++ effort. They had stated that the existing Cosmo work would be abandoned and that Open Inventor, Performer and OpenGL Optimizer would be re-written to be hosted on top of OGL++. As OGL++

SECTION 20

#1732798688098

770-402: The developer produce a high-quality scene graph, but none of these had become widely used for a variety of reasons. Open Inventor was one such example, and was intended to simplify building the scene graph, but the results were not necessarily very high performance. OpenGL Performer was a similar project that was intended to produce high-speed scenes and support very large numbers of objects in

805-444: 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)

840-537: The manufacturing and distributing arm of Nintendo for mainland China. Yen founded iGware, a company that offers cloud computing services to its customers, including Nintendo . iGware's cloud services power the online services of the Nintendo DS , Wii , Nintendo 3DS , and Wii U . In July 2011, Acer , of which Yen is a former board member, acquired the US-based iGware for $ 320 million, and thus iGware becomes

875-534: 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 for the development of complex 3D application software. TGS was acquired by Mercury Computer Systems in 2004. It became an independent company, Visualization Sciences Group (VSG), in June 2009. In 2012, VSG

910-550: The paper "Data Coherence Problem in a Multicache System" that describes a practical cache coherence protocol. Yen served as the Director of Software Engineering for Cydrome , where he worked with his brother David, who served as the Director of Hardware Engineering. They were the major contributors to the Cydra-5 mini-supercomputer. The system was a combination of a VLIW ECL-based processor used for scientific applications and

945-417: 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. Around 1988–1989, Wei Yen asked Rikk Carey to lead

980-467: 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

1015-521: The similar Fahrenheit 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. After many years of being solely available under proprietary licensing from TGS (now FEI ), Inventor was released under the LGPL open source license in August 2000 and

1050-880: Was acquired by FEI Company. FEI Company was acquired in 2016 by the Thermo Fisher Scientific Materials & Structural Analysis Division, which continues to develop (and support) Open Inventor. Wei Yen Wei Yen ( Chinese : 顏維群 ; pinyin : Yán Wéiqún ) 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 Systems and Artificial Intelligence from Purdue University . Yen and his brother David Yen along with King-sun Fu published

1085-493: Was by no means a unique solution at the time, and a number of other graphics companies were working on similar ideas at about this time. At the 20–21 August 1996 meeting of the OpenGL Architecture Review Board (ARB), SGI floated the idea of a new standardized scene graph similar to Cosmo3D but with the express intent of being based on "standard" OpenGL. There was some interest in the concept, so at

Open Inventor - Misplaced Pages Continue

1120-478: Was critical to work together with Microsoft, which had not been moving in compatible directions, to be able to build value-added products in the Windows environment. Fahrenheit is a large step in that direction." OpenGL++ was abandoned. The project appears to have been a victim of SGI's shifting priorities through this period, changing directions in order to partner with larger companies. When these companies exited

1155-534: Was intended to be a cleaned up and more flexible version of Cosmo3D, most of the Cosmo3D team started work on OGL++ and a lot of the effort was aimed at a specification and implementation that could deliver on the promise of a truly powerful yet generic scene graph. At the March 1998 ARB meeting, to everyone's surprise, SGI presented Fahrenheit, an entirely new project. The ARB notes from that meeting note "SGI felt it

1190-419: Was intended to provide a higher level API than the "bare metal" support of OpenGL, as well as being an implementation for Java3D . Work on OpenGL++ ended when SGI decided to partner with Microsoft instead, leading to the Fahrenheit project, which also died. The vast majority of applications using 3D systems describe the objects in their "world" in a data structure known as a scene graph . A scene graph

1225-447: 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

#97902