本文主要是介绍球谐函数与光照估计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近用到球谐函数(Spherical Harmonics),这是一种非常优雅的光照模型。
关于球谐函数,具体的数学推导可以在维基百科上查到:
https://en.wikipedia.org/wiki/Spherical_harmonics
我主要介绍一下球谐函数在光照估计中的应用。
球谐函数
光照估计就是从图片中获取光照信息,从而降低光照对纹理的影响。传统的光照估计依赖于光源方向和法线方向的估计,而光源方向和法线方向都是一种“估计”,本身就是不够精确的。使用不够精确的参数去估计目标值,就需要使用到一些高级的估计算法,这些算法一般都依赖于对象的统计特征。这样的光照模型过于复杂,其中的每一个过程都会影响最终的结果。
在2001年,Basri和Jacobs证明了曲面上的像素值可以使用9维的球谐基函数进行线性表示,这种光照模型只需要估计球谐基函数前面的权值,不需要光源的方向,大大简化了光照的估计。点p处的像素值等于p处的albedo乘以球谐基函数的线性组合,用数学公式表示一下就是:
ρ(p) 表示p处的albedo, lj 表示球谐基函数的系数, hj 表示9个球谐基函数。使用 nx,ny,nz 表示法线方向,这9个基分别为:
这篇关于球谐函数与光照估计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!