시각화 라이브러리
Visualization Library| 초기 릴리즈 | 2007년 5월 , 전( |
|---|---|
| 안정된 릴리스 | 1.0.0 / 2012년 5월 16일, 전( |
| 기입처 | C++ |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | 3D 그래픽스 |
| 면허증. | 간이 BSD 라이선스 |
| 웹 사이트 | visualizationlibrary |
VL(Visualization Library)은 OpenGL 4 기반의 2D/3D 그래픽 애플리케이션용 오픈 소스 C++ 미들웨어로 Microsoft Windows, Linux 및 Mac OS X 운영 체제용 휴대용 애플리케이션을 개발하도록 설계되었습니다.
설계 목표
시각화 라이브러리는 다음과 같은 목적으로 설계되었습니다.
- OpenGL 4 주변에는 직관적이고 얇은 휴대용 C++ 래퍼를 구현합니다.
- 이전 버전의 OpenGL(1.x, 2.x 및 3.x)과 완전히 호환됩니다.
- 최신 GPU의 기능과 퍼포먼스를 가상현실, 과학 및 의료의 시각화, 시뮬레이터, 훈련 등 게임 이외의 애플리케이션에도 제공합니다.
- 맞춤 렌더링 기술을 조합하는 데 사용할 수 있는 일반적이고 세분화된 프레임워크를 제공합니다.
- uber-scene-graph 패러다임의 구조적 한계를 피하십시오.
- 더러운 디테일을 처리하면서 프로그래머에게 가능한 한 많은 제어권을 줍니다.
내부 설계
Visualization Library 설계는 소위 "uber scene graph" 제품군의 다른 많은 3D 프레임워크와 달리 알고리즘 및 데이터 구조의 전문화 및 분리에 기반합니다. 즉, 모든 렌더링 정보를 단일 계층 구조로 유지하는 3D 엔진입니다.따라서 시각화 라이브러리는 렌더링 파이프라인의 각 특정 도메인을 관리하기 위해 서로 다른 데이터 구조(계층적일 수 있음)를 사용합니다.
예를 들어 변환 트리는 별도의 트리 그래프 데이터 구조 내에 유지되며 씬의 객체 부분("시각화 라이브러리 용어로 "액터")은 변환 트리의 노드를 자유롭게 참조할 수 있습니다.
배우들은 자신의 장면 분할 데이터 구조 안에 유지되며, 여기서부터 뷰 좌절에 대한 가시성이 테스트되고, 최종적으로 렌더링 시에 추출되어 렌더링 큐의 일부가 된다.이를 통해 VL은 PVS, 포털/섹터, KdTree, 쿼드트리, 옥트리 등 거의 모든 유형의 씬 관리 기법으로부터 독립하여 활용할 수 있습니다.
셰이더는 나머지 로직과는 독립적으로 유지되는 개념이며 Actor에 의해 사용되는 계층 데이터 구조가 필요하지 않습니다.그러나 VL은 고급 서비스로서 ShaderNode 클래스를 제공하며, 이를 통해 사용자는 uber-scene-graph 기반 프레임워크에서 일반적으로 사용 가능한 상속 규칙을 사용하여 계층적으로 Shader를 업데이트 및 관리할 수 있습니다.렌더링 파이프라인은 유사한 모듈러 방식을 따르기 때문에 VL 컴포넌트를 조립하고 재사용함으로써 고도로 맞춤화된 렌더링 기술을 구현할 수 있습니다.
주요 기능
- OpenGL 지원: 1.x, 2.x, 3.x, 4.x
- OS 지원: Windows XP, Vista, 7, Mac OS, Linux
- GUI 바인딩:Win32, MFC, Qt4, wxWidgets, SDL, GLUT.
- 3D 파일 형식: 3DS, OBJ, PLY(바이너리 및 ASCII), STL(바이너리 및 ASCII), AC3D, MD2. 더 많은 것을 연결할 수 있습니다.
- 지원되는 이미지 파일 형식: JPG, PNG, TGA, TIFF, BMP, DDS, DICOM더 많은 케이블을 연결할 수 있습니다.
- 볼륨 시각화: 레이캐스트 볼륨 렌더링(전송 기능, 등각면 등), 화면 정렬 슬라이스, 효율적인 행진 큐브 구현.
- 텍스처: 1D/2D/3D 텍스처, 큐브맵, 멀티 텍스처 어레이, 텍스처 직사각형, 텍스처 간 렌더링, 텍스처 좌표 생성, 텍스처 조합, 밉맵 생성, 이방성 필터링, 압축 텍스처, 정수 텍스처, 텍스처 버퍼, 멀티샘플 텍스처.
- 기하학 및 테셀레이션 셰이더를 포함한 OpenGL Shading Language 1.x ~ 4.x 지원
- 자동 투명 관리.
- 렌더링 상태 자동 정렬 및 설정 최소화.
- 정점 버퍼 객체의 자동 관리.
- 광범위한 프레임버퍼 오브젝트 지원
- 제공되는 씬 매니저: 범용 계층 볼륨 트리, KdTree, 포털 기반 씬 그래프.
- 고품질 유니코드 텍스트 렌더링 및 텍스트 조작 기능 및 클래스.
- GLSL 기반의 C++ 어드밴스드 벡터/매트릭스 라이브러리.
- 지오메트리 최적화 기능, 삼각형 축소/축소, 더블 버텍스 제거 등
- 분자 시각화.
- 압출 생성.
- 선형 및 Catmull-ROM 경로 보간.
- 바이큐빅 베지어 표면
- 엣지와 실루엣의 강화.
- 가상 파일 시스템: 디스크 파일, 메모리 파일, .zip 파일 및 .gz 파일에 투과적으로 액세스할 수 있는 추상 파일 시스템.
- 새로운 리소스 유형 및 파일 형식을 지원하는 확장 가능한 리소스 시스템.
- 많은 문서와 많은 예시.
개발현황
시각화 라이브러리의 첫 공개는 2007년 5월 7일입니다.
시각화 라이브러리는 현재 첫 번째 버전인 VL 2009.07.640에 이어 두 번째 안정적인 버전인 VL 2011.05.1140을 출시하고 있습니다.디자인은 기본적으로 동일하지만 최신 안정적인 릴리스는 주로 이전 릴리스와 다릅니다. OpenGL 3 및 4 지원, 특히 테셀레이션 셰이더 지원, 이중 정밀 균일한 변수, 멀티샘플 텍스처 및 텍스처 객체 등의 새로운 텍스처 형식, 광범위한 프레임 버퍼 객체 지원 및 ap의 더 나은 튜닝입니다.GLSL을 많이 사용하는 어플리케이션, 기타 많은 기능 강화.
