知识卡片
光线跟踪与辐射度:两种全局光照的不同思路
内容
要突破[[渲染流水线与局部光照模型的局限]]、真正捕捉物体间的相互影响(反射、透明折射、阴影),有两条根本不同的路径:光线跟踪是点对点的方法,从要渲染的像素出发反向追踪光线——碰到反光表面就继续追踪反射方向,碰到透明表面就同时追踪反射和折射两条路径,一路追到光源为止,天然能处理镜子、玻璃这类效果,但因为只擅长处理集中反射的镜面光,渲染出的表面容易显得”过于光泽”;辐射度是区域对区域的方法,考虑场景中每一对面片之间相互交换的漫射光能量(用称为形状因子的参数刻画两个面片的几何关系),计算量同样巨大,但换来一个独特的优势——物体外观一旦算出就与摄像机位置无关,摄像机换角度时不必重算,因此特别适合建筑设计这类需要频繁切换视角查看同一光照环境的场景。发散:光线跟踪和辐射度分别精于镜面反射和漫射光传递,各自都不擅长对方的强项,这提醒我们”全局光照”不是一个单一技术能完美解决的问题,而是要在”精确追踪单条光路”和”整体核算区域间能量交换”这两种建模视角之间,依据应用场景最看重哪种光照效果来取舍,现代渲染系统的路径追踪等技术正是试图融合两者优势的后续演进。
参考来源
《计算机科学概论》第10章《计算机图形学》