Abra o Inventor - Open Inventor

Open Inventor [por SGI]
Versão estável
2.1.5.10 / 2003 ; 18 anos atrás  ( 2003 )
Repositório Edite isso no Wikidata
Modelo Kit de ferramentas de gráficos 3D
Licença GNU Lesser General Public License
Local na rede Internet oss .sgi .com / projects / inventor /

O Open Inventor , originalmente IRIS Inventor , é um kit de ferramentas de gráficos 3D de modo retido orientado a objetos C ++ projetado pela SGI para fornecer uma camada superior de programação para OpenGL . Seus principais objetivos são a conveniência e a eficiência do programador. Open Inventor existe tanto como software proprietário e software livre e de código aberto , sujeito às exigências da GNU Lesser General Public License (LGPL), versão 2.1.

História antiga

Por volta de 1988–1989, Wei Yen pediu a Rikk Carey para liderar o projeto IRIS Inventor. Seu objetivo era criar um kit de ferramentas que tornasse o desenvolvimento de aplicativos gráficos 3D mais fácil de fazer. A estratégia foi baseada na premissa de que as pessoas não estavam desenvolvendo aplicativos 3D suficientes com o IRIS GL porque era muito demorado fazê-lo com a interface de baixo nível fornecida pelo IRIS GL. Se a programação 3D fosse facilitada, por meio do uso de uma API orientada a objetos, mais pessoas criariam aplicativos 3D e o SGI se beneficiaria. Portanto, o credo sempre foi “facilidade de uso” antes de “desempenho”, e logo o slogan “programação 3D para humanos” estava sendo amplamente utilizado.

Usar

OpenGL (OGL) é uma interface de programação de aplicativo de baixo nível que pega listas de polígonos simples e as renderiza o mais rápido possível. Para fazer algo mais prático como “desenhar uma casa”, o programador deve quebrar o objeto em uma série de instruções OGL simples e enviá-las ao mecanismo para renderização. Um problema é que o desempenho do OGL é altamente sensível à maneira como essas instruções são enviadas ao sistema, exigindo que o usuário saiba quais instruções enviar e em que ordem, e forçando-o a selecionar cuidadosamente os dados para evitar o envio de objetos que não são. t mesmo visível na imagem resultante. Para programas simples, uma quantidade enorme de programação precisa ser feita apenas para começar.

O Open Inventor (OI) foi escrito para resolver esse problema e fornecer uma camada de base comum para começar a trabalhar. Os objetos podem ser subclasses de uma série de formas pré-enroladas, como cubos e polígonos, e então facilmente modificados em novas formas. O “mundo” a ser desenhado foi colocado em um gráfico de cena executado pela OI, com o sistema aplicando a seleção de oclusão em objetos no gráfico automaticamente. A OI também incluiu uma série de objetos controladores e sistemas para aplicá-los à cena, tornando as tarefas de interação comuns mais fáceis. Por fim, a OI também forneceu um formato de arquivo comum para armazenar “mundos” e o código para salvar ou carregar automaticamente um mundo desses arquivos. Os aplicativos 3D básicos poderiam ser escritos em algumas centenas de linhas sob OI, unindo partes do kit de ferramentas com o código de “cola”.

No lado negativo, o OI tendia a ser mais lento do que o código escrito à mão, pois as tarefas 3D são notoriamente difíceis de executar bem sem embaralhar os dados no gráfico de cena manualmente. Outro problema prático era que o OI só podia ser usado com seu próprio formato de arquivo, forçando os desenvolvedores a gravar conversores de e para o sistema interno.

Artista

Cerca de um ano após o início do projeto Inventor, uma filosofia diferente começou a surgir. Em vez de simplesmente tornar mais fácil escrever aplicativos em sistemas SGI, o objetivo foi alterado para dificultar a escrita de aplicativos lentos. Membros da equipe Inventor partiram para formar seu próprio grupo, que fundou a base do projeto OpenGL Performer . O performer também foi baseado em um gráfico de cena interno, mas foi autorizado a modificá-lo para melhor velocidade como bem entendesse, até mesmo descartando objetos e polígonos “menos importantes” para manter níveis de desempenho garantidos. O Performer também usou vários processos para executar tarefas em paralelo para maior desempenho, permitindo que fosse executado (em uma versão) em vários processadores. Ao contrário do Inventor, o Performer permaneceu proprietário para que a SGI tivesse a agilidade de modificar a API conforme necessário para se manter em dia com os mais recentes aprimoramentos de hardware.

Meados de 1990

Em algum ponto em meados da década de 1990, percebeu-se que não havia um bom motivo para que os dois sistemas não pudessem ser combinados, resultando em uma única API de alto nível com desempenho e programação. A SGI começou a trabalhar em mais um projeto com o objetivo de unir os dois, culminando no Cosmo 3D . No entanto, Cosmo tinha vários problemas práticos que poderiam ter sido evitados com um design melhor.

Eventualmente, todas essas idéias se uniram para criar o esforço OpenGL ++ , junto com Intel , IBM e DEC . Essencialmente uma versão limpa e mais “aberta” do Cosmo 3D, o trabalho no Cosmo terminou e a SGI mudou para OpenGL ++ em tempo integral. O esforço do OpenGL ++ iria se arrastar e eventualmente ser eliminado, e a SGI então tentou novamente com a Microsoft com o projeto Fahrenheit semelhante , que também morreu. Em 1994, a SGI licenciou o Open Inventor para dois desenvolvedores terceirizados, Template Graphics Software (TGS) e Portable Graphics; em 1996, a TGS comprou a Portable Graphics, tornando-a a única licenciada.

História recente

Depois de muitos anos apenas disponível sob licença de propriedade da TGS, agora FEI , o Inventor foi lançado sob a licença de código aberto LGPL , em agosto de 2000, que está disponível na SGI.

Aproximadamente ao mesmo tempo, uma biblioteca de clones API chamada Coin3D foi lançada pela empresa SIM (Systems in Motion). O SIM foi posteriormente adquirido pelo grupo Kongsberg e renomeado como Kongsberg SIM . A biblioteca Coin foi escrita do zero em uma sala limpa , sem compartilhar nenhum código com a biblioteca SGI Inventor original, mas implementando a mesma API por motivos de compatibilidade. Kongsberg encerrou o desenvolvimento do Coin3D em 2011 e lançou o código sob a licença BSD de 3 cláusulas.

A versão de código aberto da SGI não é mantida atualmente e a SGI não demonstrou nenhum compromisso em fazer mais desenvolvimento da biblioteca. No entanto, a versão de código aberto é usada no MeVisLab (MeVis Medical Solutions AG e Fraunhofer MEVIS) e o desenvolvimento continua.

Thermo Scientific Open Inventor ainda está prosperando, em desenvolvimento ativo e acrescentou inúmeras melhorias para o API originais Inventor especificamente para imagens médicas , computação de imagens médicas , 3D sismologia reflexão , e reservatório de petróleo modelagem.

A API Open Inventor ainda é comumente usada para uma ampla gama de sistemas de visualização científica e de engenharia em todo o mundo, tendo se mostrado bem projetada para o desenvolvimento eficaz de softwares aplicativos complexos em 3D.

Thermo Scientific Open Inventor
Desenvolvedor (s) Thermo Fisher Scientific
Versão estável
10.0 / 10 de outubro de 2018
Repositório Edite isso no Wikidata
Escrito em C ++ .NET Java
Plataforma Windows Linux macOS
Modelo SDK de visualização de dados 3D
Licença Software comercial proprietário (gratuito para uso acadêmico não comercial)
Local na rede Internet ThermoFisher .com / OpenInventor

Em 2004, a TGS foi adquirida pela Mercury Computer Systems e, em junho de 2009, a entidade voltou a ser uma empresa independente denominada Visualization Sciences Group (VSG) . Em 2012, a VSG foi adquirida pela FEI Company . Em 2016, a FEI Company foi adquirida pela Thermo Fisher Scientific (Divisão de Materiais e Análise Estrutural), que continua a desenvolver e apoiar o Open Inventor .

Referências

links externos