摘要
目的 在实时渲染领域中,立即辐射度算法是用于实时模拟间接光泽反射效果的算法之一。基于立即辐射度的GGX SLC(stochastic light culling)算法中使用符合真实物理定律的GGX BRDF(bidirectional reflectance distribution function)光照模型计算间接光泽反射,计算复杂度很高,并且其计算开销会随着虚拟点光源的数量呈明显的线性增长。为解决上述问题,提出一种更高效的实时间接光泽反射渲染算法。方法 基于数学方法中的线性变换球面分布,将计算复杂度很高的GGX BRDF球面分布近似为一种计算复杂度较低的球面分布,并基于该球面分布提出了在单点光源以及多点光源环境下的基于物理的快速光照模型。该光照模型相比GGX BRDF光照模型具有更低的计算开销。然后基于该光照模型,提出实时间接光泽反射渲染算法,计算虚拟点光源对着色点的辐射强度,结合多点光源光照模型对着色点着色,高效地渲染间接光泽反射效果。结果 实验结果表明,改进后的实时间接光泽反射算法能够以更高的渲染效率实现与GGX SLC算法相似的渲染效果,渲染效率提升了20%~40%,并且场景中虚拟点光源数量越多,所提算法的效率提升越大。结论 基于线性变换球面分布的实时间接光泽反射算法,相比于GGX SLC算法,能够在不降低渲染效果的基础上,大幅提升间接光泽反射的渲染效率。
- 单位