即使不会使用VTK交互功能,不要紧。先从概念入手。
一般一个舞台上,有这么几个元素:
演员;灯光; 照相机; 观众; 和观众交互的行为;
再来看看VTK图形模型主要对象,你会发现很类似这个实际生活的舞台。
1. VTK图形模型主要对象
1、演员(Actor)代表场景中绘制的实体。
通过参数的调节可以设置角色的位置,方向,渲染特性(property),引用(reference),纹理映射(texture)等属性,并可对Actor进行缩放。演员中封装了一个4*4的变换矩阵来实现对演员的位置,方向,大小(缩放)等的操控
2、灯光(lights)由vtkLight类实现,可在场景中照亮绘制对象。
vtkLight可通过调用参数的改变控制灯光的状态(开/关)、照射角度、照射强度、颜色等,并支持点光源和平行光源。创建好后加入到Renderer中即可。
3、照相机(Camera)由vtkCamera类实现。
可以定义观察着的位置、焦点和其他相关属性;可以实现旋转,平移,滚动等动作。
4、属性(Property)主要由vtkProperty实现。
要使三维物体具有真实感,必须说明几何物体的一些特性,例如:光照特性(泛光,漫反射,镜面反射,边缘颜色),反射强度,物体的灰度,物体的绘制样式(点,线框,表面),着色模式(flat,gourand,phong)等。
5、映射(vtkMapper)指定了渲染数据和图形库中基本图元之间的关系。
vtkMapper的一些派生类通过LookupTable映射数据并控制图形库中相应的Actor吐艳的生成。一个或多个Actor可以使用相同的Mapper。Mapper有多个参数对其进行控制,如ScalarVisibili