Lambert表面的brdf推导

您所在的位置:网站首页 cos90度等于1的推导公式 Lambert表面的brdf推导

Lambert表面的brdf推导

2023-12-29 04:19| 来源: 网络整理| 查看: 265

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⋅ωi​dωi​ 其中 f r ( p , ω i , ω o ) f_r(p,\omega_i,\omega_o) fr​(p,ωi​,ωo​) 就是 BRDF,单位是 s r − 1 sr^{−1} sr−1。 以下是维基百科中的介绍 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θi​dωi​dLr​(ω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​=ks​⋅fdffuse​+4(n⋅wi​)(n⋅wo​)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π/2​fl​2πLi​​sinθdθdϕ=Li​2πfl​​∫02π​dϕ=Li​fl​​⇓fl​=π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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3