IBL计算总结
![03.一图读懂PBR](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/03.%E4%B8%80%E5%9B%BE%E8%AF%BB%E6%87%82PBR.png)
IBL 通常使用(取自现实世界或从3D场景生成的)环境立方体贴图 (Cubemap) ,可以将立方体贴图的每个像素视为光源,然后在渲染方程中直接使用它。
IBL计算主要有两部分组成,一个是光源产生的颜色,另一个是环境产生的颜色。
1.光源产生的颜色
光源产生的颜色计算,直接将数值带入Cook-Torrance反射率方程即可,
![image-20221026195350654](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/image-20221026195350654.png)
![04.光源产生的颜色Lo](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/04.%E5%85%89%E6%BA%90%E4%BA%A7%E7%94%9F%E7%9A%84%E9%A2%9C%E8%89%B2Lo.png)
2.环境产生的颜色
环境产生的颜色,其实就是天空盒产生的光照,由间接漫反射光和间接镜面光组成。
将立方体贴图的每个纹素视为一个光源。使用一个方向向量 wi 对此立方体贴图进行采样,我们就可以获取该方向上的光照强度。
对于天空盒产生的环境光,应用反射率方程:
![image-20221027085117052](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/image-20221027085117052.png)
将反射率方程拆分成漫反射和镜面反射两个部分:
![image-20221027085158924](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/image-20221027085158924.png)
(1)间接漫反射光
间接漫反射计算公式:
![image-20221027085238634](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/image-20221027085238634.png)
计算irradiance,即
![image-20221027085448874](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/image-20221027085448874.png)
给定每个片段的积分球坐标,对半球进行离散采样。
如下图所示,在两层循环内,获取一个球面坐标并将它们转换为 3D 直角坐标向量,将向量从切线空间转换为世界空间,并使用此向量直接采样 HDR 环境贴图。我们将每个采样结果加到 irradiance,最后除以采样的总数,得到平均采样辐照度。
![06.IBL_irradiance](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/06.IBL_irradiance.png)
最终由间接漫反射产生的环境光为:
vec3 ambient = kD * diffuse * ao
总结:
![07.IBL_ambient(漫反射)](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/07.IBL_ambient(%E6%BC%AB%E5%8F%8D%E5%B0%84).png)
(2)间接镜面光照
![08.IBL_分割求和近似法(split sum approximation)](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/08.IBL_%E5%88%86%E5%89%B2%E6%B1%82%E5%92%8C%E8%BF%91%E4%BC%BC%E6%B3%95%EF%BC%88split%20sum%20approximation%EF%BC%89.png)
![08.IBL_间接镜面光照(specular)](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/08.IBL_%E9%97%B4%E6%8E%A5%E9%95%9C%E9%9D%A2%E5%85%89%E7%85%A7(specular).png)
3.最终IBL结果
![09.IBL计算总结](https://liyanliangpublic.oss-cn-hongkong.aliyuncs.com/img/09.IBL%E8%AE%A1%E7%AE%97%E6%80%BB%E7%BB%93.png)