更新时间:2024-06-22 21:55
现实世界中,光线透过空气中的尘埃、雾气等会形成体积状光柱,计算机图形领域借鉴这种光线效果,产生了一种被称为体积光的渲染效果,用于在计算机视觉中模拟体积状光柱的现象。其广泛应用于游戏场景、影视效果、文字效果渲染等领域。
采用物理方法模拟光线透过空气中的尘埃,雾气,烟尘等粒子形成光柱效果的计算十分复杂,最早研究体积散射的研究人员提出了光线在粒子中传播散射的计算模型;随后有人提出了渲染任意体密度的计算模型。但是这些计算模型由于很高的计算复杂性很难应用到交互式的系统中。
为了达到很好的体积光渲染效果,又能保证良好的实时性。研究者们提出了很多用于交互式体积光的渲染算法。传统的渲染体积光的方法是使用光线步进和蒙特卡洛正交法来实现照度的累加,或者使用光子贴图,光线跟踪等全局光照明模型的方法进行模拟。
除了这些全局光照模型的方法外,近年来又出现了基于局部光照模型的方法,如解析方法。随着GPU 性能的提升,充分利用GPU的加速特性,研究人员还提出的一种模拟效果良好但是对于大规模场景该算法很难达到实时。研究者还提出了其他一些算法,这些算法通常可以分为两类,基于阴影体和基于光线步进的方法。基于阴影体的算法能够捕捉到光源照射时形成的阴影效果。但是阴影体是从后往前渲染,这就需要额外的排序计算。光线步进算法在从眼睛发出的光线上进行照度计算并迭代地累加这些照度值。