Light Propagation Volume使用光传播体渲染的游戏画面
[1]
简介一个全新的真实感渲染算法,由德国著名游戏制造商及游戏引擎开发商Crytek在2009年度CG盛典SIGGRAPH09大会上提出。
这项技术可提供全局照明(Global Illumination)和规模照明(Massive Lighting)两种功能。在它们的作用下能明显改善光照质量,其中后者是在相对较小的空间内提供多种光源的一种光照技术,可用于房屋山洞等多种场景。
Crytek声称,“我们的技术是第一种可用于实时程序且无需像现有游戏引擎那样进行预先计算的高度并行交互式漫射全局光照方法,也是第一种为漫射全局照片引入光传播的技术,这种技术拥有较高的稳定性、拓展性,而这对游戏等运行程序来说是至关重要的。试验证明,即使是在现有主机硬件(PS3/X360)上也能高效地使用这种方案”。
后于2010年的I3D会议上,Crytek又提出了“层次化光传播体”(Cascaded Light Propagation Volumes)技术,不仅对原有算法进行改进使之支持简单的遮挡与反射,且将其变为层次化细分的版本。渲染流程1、生成“反射阴影映射”(Reflect Shadow Map(RSM),即在经典阴影映射纹理中存储物体的空间位置、法线等)。
2、将RSM信息用球面调和(Spherical Harmonics)系数方式注入一个体纹理(Volume Texture, or 3D Texture)中,该体纹理的每个“格子”(体素)存储一个二阶球面调和系数向量。(因此CryTek声称该算法是基于所谓“格子波尔兹曼”(Lattice-Boltzman)方法的)
3、在体纹理中进行传播:对每个格子,收集周围6个格子中的球面调和系数相加作为当前格子新的系数向量;反复这样迭代足够次数。
4、最后将传播完的体纹理应用到场景上(可以用于延迟着色(Deferred-Shading)或者前向着色(Forward Shading))。