VTK 的渲染管线包括可视化管线和渲染引擎两个部分,其中可视化管线主要负责读取和生成数据,也就是负责处理上节所描述的各种数据结构。渲染引擎则是把可视化管线所得到的数据渲染成窗口中一个个对象显示在用户的面前。
渲染管线
除了 filter 之外,其他所有的部分都是形成可视化系统必不可少的,下面逐个说明这些对象的功能作用。
(1)Source:数据源,通过 VTK 的 IO 系统读入的数据源对象,或者自己创建的数据源对象
(2)Filter:对于初始数据源进行一些处理,也封装了一些图形学算法。比方说vtkSmoothPolyDataFilter 平 滑 网 格 , vtkClipPolyData 裁 剪 数 据 ,vtkExtractUnstructuredGrid 提取局部网格。如果不需要进行数据的处理,可以跳过这一步,直接进入下一层。
(3)Mapper:将输入数据转化成几何图元(点、线、多边形)进行渲染。指定渲染数据和图形库中基本图元的关系。这一层包括设置一个颜色映射表(lookuptable)完成数据值映射到颜色,也是本文进行标量场可视化的一个关键技术。
(4)Actor:渲染窗口渲染的对象,窗口中每一个具体需要渲染的对象都是一个actor,可以通过 actor 这一层的方法来设置对象的表面属性、颜色、透明度、纹理等。
(5)Renderer:负责场景的渲染过程。这一层的方法包括设置相机,光照等属性。
(6)RenderWindow:将操作系统和 VTK 渲染引擎连在一起,将场景渲染在设备的窗口之中。