Otevřete aplikaci Inventor

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 23. července 2022; ověření vyžaduje 1 úpravu .
Open Inventor [od SGI]
Typ Sada nástrojů pro 3D grafiku
Zapsáno v C++ a Java
Rozhraní Qt
Hardwarová platforma Java virtuální stroj
Nejnovější verze 2.1.5.10 (2003 ) ( 2003 )
Čitelné formáty souborů OpenFlight [d] [2],DXF[2], Open Inventor File Format, v1 [d] [2]a Open Inventor File Format, v2 [d] [2]
Licence GNU Lesser General Public License [1]
webová stránka oss.sgi.com/projects/inventor/

Open Inventor , původně IRIS Inventor , je C++ orientovaná 3D objektově orientovaná programovací sada nástrojů vyvinutá společností SGI pro programování OpenGL na vyšší úrovni abstrakce. Jeho hlavním cílem je zlepšit pohodlí a efektivitu programátora. Open Inventor existuje jak jako proprietární software , tak jako bezplatný software s otevřeným zdrojovým kódem podle podmínek GNU Lesser General Public License (LGPL), verze 2.1.

Pozadí

Kolem roku 1988-89 Wei Yen požádal Rikku Carey, aby vedla projekt IRIS Inventor. Jejich cílem bylo vytvořit sadu nástrojů, které usnadní vývoj aplikací pro trojrozměrnou grafiku. Strategie byla založena na předpokladu, že 3D aplikace s IRIS GL jsou málo vyvinuté, protože použití nízkoúrovňového rozhraní poskytovaného IRIS GL trvalo příliš dlouho. Předpokládalo se, že počet vývojářů by se mohl zvýšit, pokud by se 3D programování zjednodušilo pomocí objektově orientovaného API, což by bylo pro SGI přínosné. Hlavním principem byla priorita „snadnosti použití“ před „výkonem“ a slogan „3D programování pro lidi“.

Použití

OpenGL (OGL) je nízkoúrovňové aplikační programovací rozhraní , jehož cílem je přijímat seznamy jednoduchých polygonů a vykreslovat je co nejrychleji. Pro praktické použití, jako je úloha „nakreslit dům“, musí programátor rozdělit objekt do série jednoduchých instrukcí OGL a poslat je do renderovacího jádra. Jedním z problémů je, že výkon OGL je velmi citlivý na to, jak jsou tyto instrukce odesílány do systému, což nutí programátora pečlivě vybírat data a vypracovávat pořadí zobrazení a filtrování objektů, které by se neměly odesílat, protože nebudou odeslány. viditelné na výsledném obrázku.. I u jednoduchých programů je množství programování, které je třeba začít, ohromující.

Open Inventor (OI) byl napsán s cílem vyřešit tento problém a poskytuje společný základ, který vám pomůže začít. Objekty lze podtřídit z několika předem složených tvarů, jako jsou krychle a mnohoúhelníky, a poté je snadno upravit do nových tvarů. „Svět“, který má být nakreslen, byl umístěn do grafu scény řízeného OI , přičemž systém automaticky aplikoval vzorkování okluze na objekty v grafu. OI také zahrnuje několik objektů a řídicích systémů pro použití ve scéně, což usnadňuje provádění běžných interakčních úkolů. Nakonec OI také poskytl společný formát souborů pro ukládání „světů“ a kódu pro automatické ukládání nebo načítání světa z těchto souborů. Základní 3D aplikace využívající OpenInvertor by mohly být napsány v množství několika stovek řádků kódu, spojováním kusů ze sady nástrojů pomocí „lepícího“ kódu.

Na druhou stranu OI bývá pomalejší než ručně psaný kód, protože 3D úlohy se nejlépe provádějí pomocí ručního míchání v grafu scény. Dalším praktickým problémem bylo, že OI bylo možné používat pouze s vlastním formátem souborů, což nutilo vývojáře zapisovat konvertory do a z interního systému.

OpenGL Performer

Asi o rok později pronikla do projektu Inventor alternativní filozofie. Místo pouhého psaní aplikací na systémech SGI byl cíl změněn tak, aby bylo obtížnější psát pomalé aplikace. Někteří členové týmu Inventor odešli založit vlastní skupinu, která vytvořila základ projektu OpenGL Performer. Performer se také spoléhal na interní graf scény, ale měl možnost jej libovolně měnit za účelem zvýšení rychlosti, a to i vyřazením „méně důležitých“ objektů a polygonů, aby byla zachována garantovaná úroveň výkonu. Kromě toho Performer používal řadu procesů k paralelnímu spouštění úloh, aby zvýšil výkon, což mu umožnilo běžet na více procesorech. Na rozdíl od Inventoru zůstal Performer majetkem SGI, takže společnost mohla měnit API podle potřeby, aby udržela krok s nejnovějšími vylepšeními hardwaru.

Polovina devadesátých let

V polovině 90. let se ukázalo, že oba systémy lze dobře kombinovat, což vedlo k jedinému API na vysoké úrovni, které poskytuje výkon i snadné programování. SGI začala pracovat na dalším projektu zaměřeném na sloučení obou, výsledkem bylo Cosmo 3D. Cosmo však mělo řadu praktických problémů, které bylo možné vyřešit přepracováním designu.

Nakonec byly všechny tyto myšlenky spojeny ve společném projektu s Intel , IBM a DEC , OpenGL ++, který se stal ve skutečnosti "očištěnou" a "otevřenější" verzí Cosmo 3D. SGI dokončila práci na Cosmu a přešla kompletně na OpenGL++. Práce na OpenGL++ se ale protáhly a nakonec byly opuštěny, načež SGI znovu zkusilo podobný projekt Fahrenheit s Microsoftem , který také zemřel. V roce 1994 SGI licencovala Open Inventor dvěma vývojářům třetích stran, Template Graphics Software (TGS) a Portable Graphics, ale v roce 1996 se držitelé licence spojili koupí TGS společností Portable Graphics.

Moderní dějiny

Thermo Scientific Open Inventor
Typ SDK pro 3D vizualizaci dat
Vývojář Thermo Fisher Scientific
Zapsáno v C++ .NET Java
Rozhraní Qt
Hardwarová platforma Windows Linux macOS
Nejnovější verze 10.0 (10. října 2018)
Čitelné formáty souborů OpenFlight [d] [2],DXF[2], Open Inventor File Format, v1 [d] [2]a Open Inventor File Format, v2 [d] [2]
Licence Proprietární komerční software (zdarma pro nekomerční akademické použití)
webová stránka thermofisher.com/openinventor

Open Inventor API je i nadále široce používáno pro širokou škálu vědeckých a inženýrských vizualizačních systémů po celém světě a je dobře zavedeno pro efektivní vývoj komplexního softwaru pro 3D aplikace.

Po mnoha letech práce na knihovně pod TGS (nyní FEI) výhradně pod proprietární licencí byl Inventor v srpnu 2000 znovu vydán společností SGI pod open source licencí LGPL . SGI ji v současné době nepodporuje a neprojevila zájem o další rozvoj knihovny. Používá jej však MeVisLab (MeVis Medical Solutions AG a Fraunhofer MEVIS) a vývoj této verze pokračuje [3] . V roce 2004 koupila TGS společnost Mercury Computer Systems a v červnu 2009 se stala opět nezávislou společností pod názvem Visualization Sciences Group (VSG) Archived 31 May 2021 at Wayback Machine . V roce 2012 VSG získala FEI . V roce 2016 koupila FEI společnost Thermo Fisher Scientific (divize materiálů a strukturní analýzy), která pokračuje ve vývoji a údržbě Open Inventor . Archivováno 14. března 2022 na Wayback Machine .

Krátce před opětovným vydáním kódu Inventoru pod licencí LGPL začala SIM (Systems in Motion) s vývojem a vydala knihovnu nazvanou Coin3D , napsanou od začátku, bez použití zdrojového kódu knihovny SGI Inventor, ale se stejným API. z důvodů kompatibility. Následně SIM získala skupina Kongsberg a přejmenovala se na Kongsberg SIM a v roce 2011 byl vývoj Coin3D interně ukončen [4] , zdrojový kód byl znovu vydán pod licencí BSD a začal být vyvíjen nezávislou komunitou. Právě tato implementace Open Inventor API byla vybrána pro vývoj univerzálního objektově orientovaného open source 3D CAD systému FreeCAD .

Existuje také proprietární verze Thermo Scientific Open Inventor, která je v aktivním vývoji a obdržela řadu vylepšení původního API Inventoru zaměřeného na lékařské zobrazování , lékařské zobrazovací výpočty, 3D reflexní seismologii a modelování ropných nádrží .

Poznámky

  1. SGI - Developer Central Open Source - Open Inventor (odkaz není k dispozici) . Staženo 11. května 2020. Archivováno z originálu dne 19. října 2017. 
  2. 1 2 3 4 5 6 7 8 http://developer98.openinventor.com/content/chapter-12-importing-data
  3. MeVisLab . Získáno 15. března 2022. Archivováno z originálu dne 8. března 2022.
  4. Coin3D / Coin / wiki / Home - Github (30. března 2020). Staženo 11. května 2020. Archivováno z originálu dne 14. prosince 2020.

Odkazy