시각화 라이브러리

Visualization Library
시각화 라이브러리
초기 릴리즈2007년 5월 7일, 15년 전(2007-05-07)
안정된 릴리스
1.0.0 / 2012년 5월 16일, 10년 전(2012-05-16)
기입처C++
운영 체제크로스 플랫폼
유형3D 그래픽스
면허증.간이 BSD 라이선스
웹 사이트visualizationlibrary.org

VL(Visualization Library)은 OpenGL 4 기반의 2D/3D 그래픽 애플리케이션용 오픈 소스 C++ 미들웨어로 Microsoft Windows, LinuxMac OS X 운영 체제용 휴대용 애플리케이션을 개발하도록 설계되었습니다.

설계 목표

시각화 라이브러리는 다음과 같은 목적으로 설계되었습니다.

  1. OpenGL 4 주변에는 직관적이고 얇은 휴대용 C++ 래퍼를 구현합니다.
  2. 이전 버전의 OpenGL(1.x, 2.x 및 3.x)과 완전히 호환됩니다.
  3. 최신 GPU의 기능과 퍼포먼스를 가상현실, 과학 및 의료의 시각화, 시뮬레이터, 훈련 등 게임 이외의 애플리케이션에도 제공합니다.
  4. 맞춤 렌더링 기술을 조합하는 데 사용할 수 있는 일반적이고 세분화된 프레임워크를 제공합니다.
  5. uber-scene-graph 패러다임의 구조적 한계를 피하십시오.
  6. 더러운 디테일을 처리하면서 프로그래머에게 가능한 한 많은 제어권을 줍니다.

내부 설계

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을 많이 사용하는 어플리케이션, 기타 많은 기능 강화.

「 」를 참조해 주세요.

외부 링크