草庐IT

DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(3/5)漫反射积分项

目录3.4、漫反射项的重要性采样计算3.4.1、漫反射项的二重积分形式极其近似预积分计算3.4.2、漫反射辐照度积分项的直接积分计算3.4.3、漫反射辐照度积分项的蒙特卡洛积分重要性采样计算3.4、漫反射项的重要性采样计算3.4.1、漫反射项的二重积分形式极其近似预积分计算  进一步来说,因为对漫反射项积分来说κd、c、π\kappa_d、c、\piκd​、c、π等参数对于指定的一点p⃗\vec{p}p​来说是常数,可以提到积分外面,所以其中第一个积分可以进一步推导为:Lod(p⃗,ωo⃗)=κdcπ∫ΩLi(p⃗,ωi⃗)n⃗⋅ωi⃗dωi⃗∵dω=sin⁡(θ)dθdϕ,n⃗⋅ωi⃗=co

DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(2/5)

目录3、IBL数学原理3.1、基于微平面理论的“Cook-Torrance”模型回顾3.2、ksk_sks​项与菲涅尔项等价消除3.3、拆分“漫反射项”和“镜面反射项”3、IBL数学原理  接下来,就让我们正式进入整个IBL的数学原理的旅程。请注意,前方高能!3.1、基于微平面理论的“Cook-Torrance”模型回顾  首先让我们先来完整的复习下整个反射方程(渲染方程):Lo(p⃗,ωo⃗)=∫Ω(kdcπ+ksDFG4(ωo⃗⋅n⃗)(ωi⃗⋅n⃗))Li(p⃗,ωi⃗)n⃗⋅ωi⃗dωi⃗其中:D=NDFGGXTR(n⃗,h⃗,α)=α2π((n⃗⋅h⃗)2(α2−1)+1)2F=FS

DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(1/5)

目录1、前言1.1、一些感慨1.2、运行效果展示1.3、示例简介1.4、示例操作说明1.5、本章内容的简述2、什么是IBL2.1、“Cook-Torrance”模型解决的问题2.3、光源问题2.4、IBL模型1、前言1.1、一些感慨  2023年来了,令人闹心伤身的疫情也暂告一段落了。感慨之余,其实我也挺惆怅,这个系列教程还能继续下去吗?或者我自己还能坚持多久,我不知道。因为我也天天徘徊在失业的边缘,年纪大了被人嫌弃,学历低被人嫌弃,身体稍差也被人嫌弃,忽然发现我已不是当初那个少年了,却还始终怀揣着少年时的梦想,依旧挣扎在理想与现实之间,或者只是挣扎在温饱线上,已然是一身债,半条命了。当然幸运

DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(5/5)镜面反射积分项2及光照合成

这里写目录标题3.5.4、根据Epic近似假设进一步拆分积分项为两部分之积3.5.5、镜面反射预过滤积分贴图的重要性采样实现3.5.6、菲涅尔近似项FSchlickF_{Schlick}FSchlick​中菲涅尔常数F0F_0F0​的分离3.5.7、预积分BRDF-LUT贴图3.6、最终光照合成4、总结5、参考资料3.5.4、根据Epic近似假设进一步拆分积分项为两部分之积  通过之前的步骤,实际上以及得到了我们想要的镜面反射项的蒙特卡洛积分重要性采样的形式,并且根据我们的假设认为视方向等于法线方向,实际上以及可以编码实现这个积分计算过程,而且依据假设我们不再需要额外的参数了,那么这个积分项实

DirectX12(D3D12)基础教程(二十一)—— PBR:IBL 的数学原理(5/5)镜面反射积分项2及光照合成

这里写目录标题3.5.4、根据Epic近似假设进一步拆分积分项为两部分之积3.5.5、镜面反射预过滤积分贴图的重要性采样实现3.5.6、菲涅尔近似项FSchlickF_{Schlick}FSchlick​中菲涅尔常数F0F_0F0​的分离3.5.7、预积分BRDF-LUT贴图3.6、最终光照合成4、总结5、参考资料3.5.4、根据Epic近似假设进一步拆分积分项为两部分之积  通过之前的步骤,实际上以及得到了我们想要的镜面反射项的蒙特卡洛积分重要性采样的形式,并且根据我们的假设认为视方向等于法线方向,实际上以及可以编码实现这个积分计算过程,而且依据假设我们不再需要额外的参数了,那么这个积分项实