文件名称:光线投射算法原理-ti毫米波雷达介绍文档
文件大小:3MB
文件格式:PDF
更新时间:2024-06-30 07:44:11
shader CG
15.1 光线投射算法原理 光线投射方法是基于图像序列的直接体绘制算法。从图像的每一个像素,沿 固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,并在这个 过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进 行累加,直至光线穿越整个图像序列, 后得到的颜色值就是渲染图像的颜色。 为什么在上面的定义是穿越“图像序列”,而不是直接使用“体纹理”?原因在 于,体数据有多种组织形式,在基于 CPU 的高级语言编程中,有时并不使用体 纹理,而是使用图像序列。在基于 GPU 的着色程序中,则必须使用体纹理。这 里所说的图像序列,也可以理解为切片数据。 尤其要注意:光线投射算法是从视点到“图像序列 表面的外层像素”引射线 穿越体数据,而不少教程中都是糊里糊涂的写到“从屏幕像素出发”,这种说法太 过简单,而且很容易让人误解技术的实现途径,可以说这是一种以讹传讹的说法! 从屏幕像素出发引出射线,是光线跟踪算法,不是光线投射算法。 体绘制中的光线投射方法与真实感渲染技术中的光线跟踪算法有些类似,即 沿着光线的路径进行色彩的累计。但两者的具体操作不同。首先,光线投射方法 中的光线是直线穿越数据场,而光线跟踪算法中需要计算光线的反射和折射现 象。其次,光线投射算法是沿着光线路径进行采样,根据样点的色彩和透明度, 用体绘制的色彩合成算子进行色彩的累计,而光线跟踪算法并不刻意进行色彩的 累计,而只考虑光线和几何体相交处的情况; 后,光线跟踪算法中光线的方向 是从视点到屏幕像素引射线,并要进行射线和场景实体的求交判断和计算,而光 线投射算法,是从视点到物体上一点引射线(16.1.2 节会进行详细阐述),不必 进行射线和物体的求交判断。 上述文字,对于光线投射算法的描述可能太过简单,会引起一些疑惑,不过