VTK Toolkit 에는 장면을 렌더링 하기 위해 사용하는 7개의 기본 Object가 있습니다.
1. vtkRenderWindow
디스플레이 장치의 윈도우를 생성 및 관리합니다. 윈도우는 Linux/UNIX OS의 경우 X window, Mac OS의 경우 Quartz window를 의미합니다. vtk에서 vtkRenderwindow는 장치 독립적이므로 그래픽HW 및 SW에 따른 조치는 필요하지 않습니다. 또한 vtkRenderWindow는 렌더러가 렌더링을 할 창을 만들며, 렌더러를 관리합니다. 하나 이상의 렌더러를 vtkRenderWindow에 추가할 수 있습니다.
2. vtkRenderer
조명, 카메라 및 액터와 관련된 렌더링 프로세스를 제어합니다. 액터는 최소한 1개 이상 추가하여야 하며, 조명과 카메라가 정의되지 않은 경우 렌더러에서 자동으로 생성합니다. 또한 월드 좌표, 뷰 좌표 및 디스플레이 좌표 간의 변환을 수행합니다.
3. vtkLight
3D 렌더링을 위한 가상 조명입니다. 조명의 위치, 조명 On/Off, 조명 밝기 및 색상을 설정하는 방법을 제공합니다.
4. vtkCamera
3D 렌더링을 위한 가상 카메라 입니다. 카메라의 주요 속성으로는 카메라 위치, 초점, 전면 및 후면 클리핑 평면의 위치, 뷰업 벡터 등이 있습니다. 또한 뷰 포인트와 초점을 배치하고 카메라 방향을 지정하는 방법 및 초점을 중심으로 카메라가 움직이는 방법(azimuth, elevation, zoom, roll) 등을 제공합니다.
5. vtkActor
월드 좌표계에서의 속성 및 위치를 포함하여 장면에서 렌더링 된 객체(Entity)를 나타냅니다.
6. vtkProperty
색상, 투명도 및 반사광 및 확산과 같은 조명 속성을 포함하여 액터의 모양 속성을 정의합니다. 또한 와이어 프레임 및 솔리드 표면과 같은 표현 속성도 포함됩니다.
7. vtkMapper
데이터를 그래픽 프리미티브에 매핑하기 위한 인터페이스를 지정합니다. 룩업테이블을 통해 데이터를 매핑하고 그래픽 라이브러리에 인터페이스 하는 렌더링 기본 요소의 생성을 제어합니다. 예를 들어 스칼라 매핑을 통해 액터에 색을 입힐 수 있습니다. 또한 매퍼는 일치하는 토폴로지를 해결하기 위해 Z버퍼를 이동하는 기능을 제공합니다. 한 개 이상의 액터가 동일한 매퍼를 참조 할 수 있습니다.
* Reference
- VTK Doxygen
- VTK Textbook – chapter3