Lambert表面的brdf推导

Lambert表面的brdf推导

在微表面模型下,基本的反射公式如下
L o ( p , ω o ) = ∫ Ω f r ( p , ω i , ω o ) L i ( p , ω i ) n ⋅ ω i d ω i L_o(p,\omega_o) = \int\limits_{\Omega} f_r(p,\omega_i,\omega_o) L_i(p,\omega_i) n \cdot \omega_i d\omega_i Lo(p,ωo)=Ωfr(p,ωi,ωo)Li(p,ωi)nωidωi
其中 f r ( p , ω i , ω o ) f_r(p,\omega_i,\omega_o) fr(p,ωi,ωo) 就是 BRDF,单位是 s r − 1 sr^{−1} sr1
以下是维基百科中的介绍
f r ( ω i ,   ω r )   =   d ⁡ L r ( ω r ) d ⁡ E i ( ω i )   =   d ⁡ L r ( ω r ) L i ( ω i ) cos ⁡ θ i   d ⁡ ω i {\displaystyle f_{\text{r}}(\omega _{\text{i}},\,\omega _{\text{r}})\,=\,{\frac {\operatorname {d} L_{\text{r}}(\omega _{\text{r}})}{\operatorname {d} E_{\text{i}}(\omega _{\text{i}})}}\,=\,{\frac {\operatorname {d} L_{\text{r}}(\omega _{\text{r}})}{L_{\text{i}}(\omega _{\text{i}})\cos \theta _{\text{i}}\,\operatorname {d} \omega _{\text{i}}}}} fr(ωi,ωr)=dEi(ωi)dLr(ωr)=Li(ωi)cosθidωidLr(ωr)
而在光照计算中
f r = k s ⋅ f d f f u s e + D F G 4 ( n ⋅ w i ) ( n ⋅ w o ) f_r = k_s \cdot f_{dffuse} + \frac{DFG}{4(n \cdot w_i)(n \cdot w_o)} fr=ksfdffuse+4(nwi)(nwo)DFG
brdf由漫反射和镜面反射构成,漫反射的时候最简单的就是假设平面是朗伯面,从而使用
f d i f f u s e = c π f_{diffuse} = \frac{c}{\pi} fdiffuse=πc

朗伯体性质

根据百度百科朗伯体的定义

朗伯体是指当入射能量在所有方向均匀反射,即入射能量以入射点为中心,在整个半球空间内向四周各向同性的反射能量的现象,称为漫反射,也称各向同性反射,一个完全的漫射体称为朗伯体。

详细推导

因为光的可逆性,朗伯体表面的入射光可以通过对该点处半球面上所有的出射光进行积分求得。

假设表面点的颜色是 c c c ,那么假设入射光 Radiance 是 L i L_i Li,且垂直于当前点,则该点的法线对应的半球方向上任意一点的出射光 Iradiance 都是数值相等的, L i 2 π \frac{L_i}{2\pi} 2πLi,而且朗博表面的brdf也必然是一个常数 f l f_l fl,则通过对半球所有出射方向进行积分
c L i = ∫ 0 2 π ∫ 0 π / 2 f l L i 2 π sin ⁡ θ d θ d ϕ = L i f l 2 π ∫ 0 2 π d ϕ = L i f l ⇓ f l = c π \begin{aligned} c L_i &= \int_{0}^{2\pi}\int_{0}^{\pi/2} f_l \frac{L_i}{2\pi} \sin{\theta} d \theta d \phi\\ &=L_i \frac{f_l}{2\pi} \int_{0}^{2\pi} d \phi\\ &=L_i f_l \end{aligned} \\ \Downarrow \\ f_l = \frac{c}{\pi} cLi=02π0π/2fl2πLisinθdθdϕ=Li2πfl02πdϕ=Liflfl=πc

这就是我们在计算环境光照的时候常用到的brdf

引用

[1] https://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_function

[2] https://en.wikipedia.org/wiki/Radiance

[3] https://learnopengl.com/PBR/Lighting

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值