第7章 体绘制
参考书:张晓东, 罗火灵. VTK图形图像开发进阶[M]. 机械工业出版社, 2015.
体绘制是一种直接利用体数据来生成二维图像的绘制技术。与面绘制不同,体绘制技术不需要提取体数据内部的等值面,它是一个对三维体数据进行采样和合成的过程。体绘制能够通过设置不透明度值来显示体数据内部的不同成分和细节。
7.1 体绘制管线
图7-2为几何渲染管线和体绘制渲染管线的对比图,为了便于比较,两个渲染管线的输入都为图像,左侧为一般的几何渲染管线,右侧为体绘制渲染管线,其中虚线部分为两者不同之处。从中可以看出,两者不同主要在于Mapper和Actor对象。
7.2 vtkVolumeMapper
7.2.1 vtkVolumeRayCastMapper
1.vtkVolumeRayCastCompositeFunction
2.vtkVolumeRayCastMIPFunction
3.vtkVolumeRayCastIsosurfaceFunction
采样步长越小,渲染效果越精细。当体数据变化比较剧烈的时候,应该适当减小采样步长获取好的显示效果,当然其代价是渲染速度的降低。
7.2.2 vtkFixedPointVolumeRayCastMapper
7.2.3 vtkGPUVolumeRayCastMapper
7.2.4 纹理映射体绘制
1.二维纹理映射
2.三维纹理映射
7.2.5 裁剪
7.2.6 法向编码
7.3 vtkVolume
vtkVolumeRayCastMapper类(在VTK8.x.x已被移除)
vtkFixedPointVolumeRayCastMapper是一个较好的vtkVolumeRayCastMapper的替代者。该类能够实现基于Alpha合成的体绘制和最大密度投影体绘制方法,能够支持任意类型的一元或独立多元数据。vtkFixedPointVolumeRayCastMapper的使用方法的使用方法与vtkVolumeRayCastMapper基本相同,如支持设置投射光线采样步长、设置图像采样距离、设置自动调节图像采样距离等。