- 大部分教程都是使用CMake作为vtk项目的配置方法。若不使用CMake作为配置方法,直接创建c++解决方案,在配置完项目属性后,需在代码头文件引用部分作以下声明:
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
- 灯光 vtkLight:颜色,位置,灯光焦点,灯光强度;
- 相机 vtkCamera:位置,相机焦点,朝上方向,投影方向,投影方法,视角,前后剪裁平面;
- 颜色:分为RGB和HSV两种颜色系统描述:RGB为红,绿和蓝,取值范围都为0.0-1.0。而HSV则为色相(Hue),饱和度(Saturation)和值(Value,也称强度Intensity或亮度Bright),取值范围也为0.0-1.0。
- 绝大多数学习例子都要有交互机制的设置。如:vtkRenderWindowInteractor(),并将其初始化和进入事件的相应循环。
- 纹理映射:创建一个纹理类对象vtkTexture,读入一幅纹理图片输入到该对象,声明该纹理要“贴”到什么地方。
- 空间变换:三维模型->二维平面(投影)。透视投影,正交投影。平移,缩放,旋转。
先设置变换矩阵,再应用。
vtkSmartPointer<vtkTransform>transform =
vtkSmartPointer<vtkTransform>::New();
transform->PostMultiply();
transform->RotateZ(40);
transform->Translate(10,0,0);
cylinderActor->SetUserTransform(transform);