体绘制(Volume rendering)在医疗领域有着重要作用,CT/MRI数据的三维成像能够辅助疾病的诊疗。
医学体绘制在学术和工业界已经发展了多年,国外在这方面的研究和应用比较深入,但国内还比较薄弱。
本文从体绘制的几个研究类别着手,介绍一些体绘制方法,能够让初涉该领域的研究者对体绘制过程有所了解。
图1 Rain-Water (https://draemm.li/various/volumeRendering/webgl2/)
研究类别1. 直接体绘制直接体绘制(Direct Volume Rendering, DVR)就是从体数据中直接获取其三维表示。这里介绍Ray casting方法([1]第七章“GPU-based ray casting”)和Slice-based方法([1]第三章“Viewport-aligned slices”)。
Ray casting图2 Ray casting过程
如上图所示,从相机位置发射的一条穿过屏幕空间的光线,按照一定的步长经过体数据,在每个位置进行采样得到密度值,直到光线退出体积或颜色的alpha值达到饱和。同时,光线遍历过程所获得的采样以一定的方式被合成。
Slice-basedSlice-based方式的一种简单方法3D texture slicing,以front-to-back或back-to-front方式划分体积成一系列切片,然后进行混合。
2. 间接体绘制这里介绍Marching Tetrahedra(MT)[2]方法,该方法遍历整个体积数据,根据求交标准拟合形成特定的多边形,进而形成整个体积的多边形网格。
3. 体积光照体绘制过程中,增加光照效果能够增强数据的结构和深度感知。这里介绍Half-angle slicing([1]第六章“Global volume illumination”)。
Half-angle slicing能够逐切片模拟光照吸收过程。类似于Shadow mapping的计算过程,但需要多个pass才能绘制整个体积的光照的效果。
总结体绘制是一个有趣的研究方向,推荐参考文献如下。
[1] Real-time volume graphics
[2] An implementation of Marching Cubes and Marching Tetrahedrons
https://www.shan-machinery.com