Lambert漫反射模型

看了闫令琪的视频,这里简单总结一下。

首先有个很重要的漫反射概念:漫反射表示的是光线到达物体表面的某一点,在以它为中心的半球内被均匀反射。

经验公式

两个问题:

1.我们观察到的点,有多少光到达?

2.有多少光被反射?

从上图可以看出,当face旋转了60°后,同样到达top face(我这里定义成dA)的光量变成一般即cos(π/3) = 1/2。

可以得出结论:单位面积接收的光量和cosθ成正比。

我们还需要考虑面积到光源的衰减问题,如下图:

假设光源的功率是Φ,由于所有球面总共的能量也是Φ,那么每个球面单位面积的辐照度(irradiance)是:

E = \frac{\Phi }{4\pi r^2}

现在我们简化物理,把E简化成光照强度I(Intensity)。

半径为1的球面单位面积的Intensity是I,那么半径是r的球面的Intensity就是I / r²。

我们再定义一个反射系数k_d,即到达的光有多少被反射

那么我们可以得出Lambert的Diffuse经验公式:

L_d = k_d(I/r^2)max(0, n\cdot l)

能量守恒下的漫反射

从经验公式可以看到,物体并不符合能量守恒。

怎样才符合能量守恒?

半球内任意一个方向的漫反射颜色的计算:

其中\rho _d就是漫反射的比例系数。

由于漫反射是半球内的均匀反射,那么\rho _d * Incident \ Light \ Energy \ * \cos \theta就是反射出去的radiance。

引入一个问题:

单位半球内的面积是是2π,为何ρ不是1/2π呢?

反射方程,计算的是半球到方向的反射,即hemispherical-directional reflectance

那么反过来,也有方向到半球的反射,就入射光只是一个反向,但反射到半球内的所有方向,叫directional-heispherical reflectance,漫反射就是这种。

公式如下:

R(l) = \int _{v} f(l,v)(n \cdot v) \mathrm{d}v

R(l)是一个反射率,并不是radiance。由于漫反射是均匀反射,即f(l,v)是一个常数ρd。

在假定没有吸收的时候,上式的R(l) = 1,上式写成:

\int _\Omega \rho _d\cos\theta dv = \rho _d\int _{\phi =0}^{2\pi } \int _{\theta =0}^{\frac{\pi }{2}}cos\theta sin\theta d\theta d\phi = 1

\rho _d\int _{\phi =0}^{2\pi } d\phi\int _{\theta =0}^{\frac{\pi }{2}}cos\theta sin\theta d\theta = 1

\rho _d 2\pi \int _{\theta =0}^{\frac{\pi }{2}} sin\theta dsin\theta = 1

\rho _d 2\pi \left [ \frac{(sin\theta) ^2}{2} \right ]_{0} ^{\frac{\pi}{2}}= 1 \quad \Rightarrow \quad \pi\rho _d = 1

求得:

\rho _d = \frac{1}{\pi}

 

================下面理解是错误的===================

那么半球内所有的基于漫反射的反射光的总和是:

要符合能量守恒,必须满足下面的不等式:

意思是反射光量的总和必须小于等于入射光量。

对半球做积分:

\int _\Omega \rho _dL_icos\theta d\omega = \int _{\phi =0}^{2\pi } \int _{\theta =0}^{\frac{\pi }{2}}\rho _dL_icos\theta sin\theta d\theta d\phi \leq L_i

\rho _dL_i\int _{\phi =0}^{2\pi } \int _{\theta =0}^{\frac{\pi }{2}}cos\theta sin\theta d\theta d\phi \leq L_i

不等式移项得

\rho _d\int _{\phi =0}^{2\pi } \int _{\theta =0}^{\frac{\pi }{2}}cos\theta sin\theta d\theta d\phi \leq 1

\rho _d\int _{\phi =0}^{2\pi } d\phi\int _{\theta =0}^{\frac{\pi }{2}}cos\theta sin\theta d\theta \leq 1

\rho _d 2\pi \int _{\theta =0}^{\frac{\pi }{2}} sin\theta dsin\theta \leq 1

\rho _d 2\pi \left [ \frac{(sin\theta) ^2}{2} \right ]_{0} ^{\frac{\pi}{2}} \leq 1 \quad \Rightarrow \quad \pi\rho _d \leq 1

最后得到

\rho _d \leq \frac{1}{\pi}

=================上面理解是错误的=================

所以Lambert的漫反射在能量守恒下,要除以π。

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值