球谐函数与全局光照

球谐函数学习笔记。

Wiki

球谐函数(SH)光照是一种实时渲染技术,可以在相对较小的开销下产生高度真实感的阴影和阴影。所有 SH 光照技术都包括用球面函数替换部分标准光照方程,这些球面函数以球谐函数为基础投射到频率空间中。举一个简单的例子,如果不考虑保持高频细节,用于环境映射的立方体映射可能会减少到只有 9 个 SH 系数。

More intriguing techniques use SH to encode multiple functions—usually the global lighting environment and a per-vertex radiance transfer function. The generalized lighting equation involves, among other things, integrating the product of the incoming radiance and the BRDF over a sphere—something that is far too expensive for real-time rendering. But if the two functions are projected into SH coefficients, the integral of their product over the sphere is just the dot product of the two SH coefficient vectors. Generating the per-vertex transfer functions and projecting them to SH space is still an expensive process, but evaluating them is almost trivial. More to the point, they can be evaluated correctly even if the lighting environment changes in intensity or orientation. Even the most complex ray-traced radiosity algorithm can be rendered in real-time with dynamically changing lighting.

也有一些技术利用了 SH 的思想,如全局光照计算顶点辐射传递函数

SH lighting using preprocessed coefficients produces results that are beautiful but limited. Typically the lighting can change, or the lit mesh can be rotated, but the mesh can’t be translated or deformed without requiring a new set of per-vertex coefficients. More recent techniques split the lighting equation into more parts and introduce techniques for updating SH components in real time.

Reference

https://zhuanlan.zhihu.com/p/108485929

https://zhuanlan.zhihu.com/p/49436452

https://zhuanlan.zhihu.com/p/61611088

Share