我想弄清楚基于图像的照明是如何实时照明的。
我理解用球形谐波表示环境图和BRDF的重要性。因为两者都是正交基函数,使得光照积分成为系数的点积问题。
但在那之前,
为什么环境映射在全局框架中,BRDF在本地框架中?
编辑1:为了帮助更多,这是论文快速,任意BRDF阴影
发布于 2016-09-26 13:53:08
BRDF函数的表面反射率不取决于表面在世界空间中的方位或位置(视图向量除外),而是相对于表面法线(或各向异性BRDF情况下的切线空间)定义的,因此应该在局部空间中定义。把它想象成一个半球状的2D函数,固定在物体表面的一点上,与物体一起运动和旋转。
另一方面,环境图定义了世界空间中从给定方向产生的亮度,因此在该空间中定义了亮度。
要执行这两个函数的卷积,您必须将BRDF转换为世界空间,或者将环境映射转换为局部空间。
通常情况下,将表面法向/切线空间转换为世界空间,并在该空间中进行照明计算。但是,如果您计划使用球形谐波来定义BRDF,您可能需要考虑半球谐波,以获得更好的频率响应,并将照明从世界空间转换到局部空间。总的来说,与SH/HSH,你只能复制相当低频率的照明(即粗糙的表面),所以他们可能无法渲染为你想要的多功能表面。
https://computergraphics.stackexchange.com/questions/4035
复制相似问题