参考:
https://zhuanlan.zhihu.com/p/337054440
前言
体绘制,有时又称作三维重建,它能够通过设置不透明度值来显示提数据内部不同成分的细节。
本篇讲述了一个标准的VTK体绘制渲染流程。其中最重要的两个内容分别是:vtkVolumeMapper 和 vtkVolume。
更多内容参见《VTK 图形图像开发进阶》。该书得下载地址如下:
链接:https://pan.baidu.com/s/1hG9js6eZkTqL6Fh-b_C-Dg 提取码:cod8
vtkVolumeMapper机器子类实现了各种体绘制算法:
光线投影法,如:vtkVolumeRayCastMapper、vtkFixedPointVolumeRayCastMapper、vtkGPUVolumeRayCastMapper;
基于纹理绘制算法,如:vtkVolumeRayTestureMapper2D、vtkVolumeRayTestureMapper3D;
vtkVolume负责组合体绘制管线,处理包含一个Mapper对象外,还需要vtkVolumeProperty对象来体绘制的颜色映射,如不透明度函数、颜色传输函数、梯度不透明函数以及设置阴影效果等。
vtkVolumeMapper
vtkVolumeMapper是所有体绘制Mapper类的虚基类,提供接口函数,并由其子类实现具体功能。
vtkVolumeRayCastMapper
光线投影法是一种基于图像序列的直接体绘制方法,其基本原理是从投影图像平面的每个像素沿着视线方向发射一条穿过体数据的射线,然后在射线上按照一定的步长进行等距采样,对每个采样点采用插值技术计算其体素值,根据颜色传输函数和不透明度传输函数来获取相应的颜色值和不透明度,最后利用光线吸收模型将颜色值进行累加,直至光线穿过体数据,即可得到当前平面像素的渲染颜色,生成最终显示图像。
优点:能够精确的模拟原始数据;
缺点:计算量大,对计算机硬件要求较高。
vtkVolumeRayCastMapper类中有两个中最要的函数:
SetInput(vtkImageData*):用