Inventor 열기

Open Inventor
Inventor 열기 [By SGI]
안정된 릴리스
2.1.5.10/2003;19년 전(2003)
저장소
유형3D 그래픽스 툴킷
면허증.GNU 약소 일반 공중 사용 허가서[1]
웹 사이트oss.sgi.com/projects/inventor/

Open Inventor(원래 IRIS Inventor)는 OpenGL을 위한 보다 높은 프로그래밍 계층을 제공하기 위해 SGI에서 설계된 C++ 객체 지향 유지 모드 3D 그래픽 툴킷입니다.그 주된 목적은 프로그래머의 편리성과 효율성의 향상입니다.Open Inventor는 GNU Lesser General Public License(LGPL) 버전 2.1의 요건에 따라 독점 소프트웨어자유오픈 소스 소프트웨어로 존재합니다.

초기 역사

1988-1989년 무렵, Wei Yen은 Rikk Carey에게 IRIS Inventor 프로젝트를 이끌도록 요청했습니다.그들의 목표는 3D 그래픽 애플리케이션을 쉽게 개발할 수 있는 툴킷을 만드는 것이었습니다.이 전략은 IRIS GL이 제공하는 저수준 인터페이스로 개발하기에는 시간이 너무 많이 걸리기 때문에 사람들이 충분한 3D 애플리케이션을 개발하지 못한다는 것을 전제로 하고 있었습니다. 만약 객체 지향 API를 사용하여 3D 프로그래밍이 더 쉬워진다면 더 많은 사람들이 3D 애플리케이션과 SGI를 만들 수 있을 것입니다.그 때문에, 「퍼포먼스」보다 「사용의 용이성」이 우선이었고, 얼마 지나지 않아 「인간을 위한 3D 프로그래밍」이라는 태그 라인이 널리 쓰이게 되었습니다.

사용하다

OpenGL(OpenGL)은 간단한 폴리곤 목록을 가져와 최대한 신속하게 렌더링하는 로우 레벨 애플리케이션 프로그래밍 인터페이스입니다."집 그리기"와 같은 보다 실용적인 것을 하기 위해 프로그래머는 오브젝트를 일련의 간단한 OGL 명령으로 분해하여 렌더링하기 위해 엔진으로 보내야 한다.한 가지 문제는 OGL 퍼포먼스가 이러한 명령어가 시스템으로 전송되는 방식에 매우 민감하다는 것입니다.사용자는 어떤 명령어를 어떤 순서로 전송해야 하는지 알아야 하며, 결과 이미지에는 보이지 않는 오브젝트가 전송되지 않도록 데이터를 신중하게 삭제해야 합니다.단순한 프로그램의 경우 시작하기 위해 엄청난 양의 프로그래밍을 수행해야 합니다.

Open Inventor(OI)는 이 문제를 해결하고 작업을 시작할 수 있는 공통 기본 계층을 제공하기 위해 작성되었습니다.오브젝트는 큐브나 폴리곤과 같은 미리 롤된 여러 도형에서 하위 분류할 수 있으며 새로운 도형으로 쉽게 수정할 수 있습니다.그려질 "월드"는 OI가 실행하는 장면 그래프에 배치되었으며, 그래프 내의 객체에 자동으로 폐색을 적용했다.또한 OI에는 현장에 적용하기 위한 다수의 컨트롤러 객체와 시스템이 포함되어 있어 일반적인 상호 작용 작업을 보다 쉽게 할 수 있습니다.마지막으로, OI는 "월드"를 저장하기 위한 공통 파일 형식과 이러한 파일에서 월드를 자동으로 저장하거나 로드하는 코드를 제공했습니다.기본 3D 애플리케이션은 툴킷의 일부를 "글루" 코드로 묶어 OI 아래에 수백 줄로 작성할 수 있습니다.

단점으로는 3D 작업은 장면 그래프의 데이터를 손으로 섞지 않고는 잘 수행하기가 어렵기로 악명 높기 때문에 OI는 손으로 쓴 코드보다 느린 경향이 있었습니다.또 다른 현실적인 문제는 OI를 자체 파일 형식에서만 사용할 수 있다는 점이었고, 개발자들은 내부 시스템과 변환기를 작성해야 했다.

퍼포먼스

Inventor 프로젝트가 시작된 지 약 1년 만에 다른 철학이 나타나기 시작했습니다.단순히 SGI 시스템에 애플리케이션을 쉽게 쓰는 것이 아니라 느린 애플리케이션을 쉽게 쓰는 것을 어렵게 하는 것으로 목표를 변경했다.Inventor 팀의 구성원들은 OpenGL Performer 프로젝트의 기반이 된 그들만의 그룹을 구성하기 위해 떠났습니다.또한 Performer는 내부 장면 그래프를 기반으로 했지만, 성능 수준을 보장하기 위해 "중요도가 낮은" 개체와 폴리곤을 떨어뜨리는 등 적합하다고 판단될 때 더 빠른 속도로 수정할 수 있었습니다.또한 Performer는 여러 프로세스를 사용하여 작업을 병렬로 실행하여 성능을 향상시키고 여러 프로세서에서 작업을 실행할 수 있도록 했습니다.Inventor와 달리 Performer는 독점적이었기 때문에 SGI는 최신 하드웨어 기능 향상에 발맞춰 API를 필요에 따라 수정할 수 있었습니다.

1990년대 중반

1990년대 중반 어느 시점에서는 두 시스템을 결합할 수 없는 이유가 없다는 것을 깨달았고, 결과적으로 성능과 프로그래밍 가능성을 모두 갖춘 단일 고급 API가 탄생했습니다.SGI는 이 둘을 합치는 것을 목표로 하는 또 다른 프로젝트를 시작했고, 결국 Cosmo 3D로 완성되었습니다.그러나 코스모는 더 나은 디자인으로 피할 수 있었던 많은 현실적인 문제들을 가지고 있었다.

결국 이러한 모든 아이디어가 모여 Intel, IBM 및 DEC와 함께 OpenGL++를 개발하게 될 것입니다.기본적으로 Cosmo 3D의 더 깔끔한 "오픈" 버전인 Cosmo 작업은 종료되고 SGI는 OpenGL++ 풀타임으로 전환되었습니다.OpenGL++의 노력은 오래 끌다가 결국 수포로 돌아갔고, SGI는 비슷한 화씨 프로젝트로 마이크로소프트와 다시 시도했지만 역시 실패했다.1994년 SGI는 TGS(Template Graphics Software)와 Portable Graphics(Portable Graphics)라는 두 개의 서드파티 개발자에게 Open Inventor를 라이선스했습니다.TGS는 1996년에 Portable Graphics를 인수하여 이 두 회사만의 라이선스를 취득했습니다.

최근 이력

수년 동안 TGS(현재는 FEI)의 독점 라이센스로만 제공되어 온 Inventor는 2000년 8월에 LGPL 오픈 소스 라이센스로 출시되었으며, SGI에서 사용할 수 있습니다.

이와 함께 코인3D라는 API 클론 라이브러리가 SIM(Systems in Motion)에 의해 출시됐다.SIM은 나중에 Kongsberg 그룹에 인수되어 Kongsberg SIM으로 브랜드 변경되었습니다.코인 라이브러리는 처음부터 클린룸 방식으로 작성되었으며, 원래 SGI Inventor 라이브러리와 코드를 공유하지 않고 호환성을 위해 동일한 API를 구현했습니다.콩스버그는 2011년[2] 코인3D 개발을 종료하고 BSD 3조 라이선스 하에 코드를 공개했다.

SGI의 오픈 소스 버전은 현재 유지되고 있지 않으며, SGI는 라이브러리의 추가 개발을 위한 어떠한 약속도 보이지 않습니다.그러나 오픈 소스 릴리스는 MeVisLab(MeVis Medical Solutions AG 및 Fraunhofer MEVIS)에서 사용되고 있으며 이에 대한 개발은 계속되고 있습니다.[3]

Thermo Scientific Open Inventor는 여전히 활발히 개발 중이며 의료 영상, 의료 이미지 컴퓨팅, 3D 반사 지진학석유 저장고 모델링에 있어 오리지널 Inventor API에 많은 개선 사항을 추가했습니다.

Open Inventor API는 복잡한 3D 애플리케이션 소프트웨어를 효과적으로 개발할 수 있도록 잘 설계된 것으로 입증되어 전 세계 광범위한 과학 및 엔지니어링 시각화 시스템에 여전히 일반적으로 사용되고 있습니다.

서모 사이언티픽 오픈 발명가
개발자서모 피셔 사이언티픽
안정된 릴리스
10.0 / 2018년 10월 10일
저장소
기입처C++ .그물 자바
플랫폼창문들 리눅스 MacOS
유형3D 데이터 시각화 SDK
면허증.자체 상용 소프트웨어(비상업 학술용 무료)
웹 사이트thermofisher.com/openinventor

2004년, TGS는 Mercury Computer Systems에 인수되어 2009년 6월에 Visualization Sciences Group(VSG)이라고 불리는 독립 기업이 되었습니다.2012년에 VSG는 FEI Company에 인수되었습니다.FEI Company는 2016년 Thermo Fisher Scientific(재료 및 구조분석 부문)에 인수되어 Open Inventor 개발 및 지원을 계속하고 있습니다.

레퍼런스

  1. ^ "SGI - Developer Central Open Source - Open Inventor".
  2. ^ "Coin3D / Coin / wiki / Home — Github". 30 March 2020.
  3. ^ MeVisLab

외부 링크