最近用到球谐函数(Spherical Harmonics),这是一种非常优雅的光照模型。
关于球谐函数,具体的数学推导可以在维基百科上查到:
我主要介绍一下球谐函数在光照估计中的应用。
球谐函数
光照估计就是从图片中获取光照信息,从而降低光照对纹理的影响。传统的光照估计依赖于光源方向和法线方向的估计,而光源方向和法线方向都是一种“估计”,本身就是不够精确的。使用不够精确的参数去估计目标值,就需要使用到一些高级的估计算法,这些算法一般都依赖于对象的统计特征。这样的光照模型过于复杂,其中的每一个过程都会影响最终的结果。
在2001年,Basri和Jacobs证明了曲面上的像素值可以使用9维的球谐基函数进行线性表示,这种光照模型只需要估计球谐基函数前面的权值,不需要光源的方向,大大简化了光照的估计。点p处的像素值等于p处的albedo乘以球谐基函数的线性组合,用数学公式表示一下就是:
I(p)=∑j=19ρ(p)ljhj(p)
ρ(p) 表示p处的albedo, lj 表示球谐基函数的系数, hj 表示9个球谐基函数。使用 nx,ny,nz 表示法线方向,这9个基分别为:
h1=1