PBR_IBL漫反射
- IBL图像的光照(Image based lighting):非直接光源,它是一种更精确的环境光照输入格式,甚至也可以说是一种全局光照的粗略近似。
- 环境光照:获取每个wi光源辐射率,求辐照度:将周围环境整体视为一个大光源,通常使用环境立方体贴图 (Cubemap) ,每个纹素视为一个光源
- 可以将将BRDF分解为漫反射 kd 和镜面 ks两个部分:分解后位移常数项,一下介绍漫反射部分:
- 辐照度图:根据环境贴图,预计算立方体贴图:对于一个采样方向(纹素)wi入射光,通过卷积,对半球 Ω离散采样取平均值,计算漫反射结果,存储在这个采样方向(纹素)wo中。从而我们可以直接从辐照度图采样
从 hdr文件提取,环境立方体贴图
- PBR (基于实际物理属性和测量)和 HDR 需要密切合作(高动态范围(High Dynamic Range)
- 扩展名为 .hdr文件:存储了一张完整的环境立方体环境贴图,所有六个面数据都是浮点数,允许指定 0.0 到 1.0 范围之外的颜色值
- 使用stb_image.h 加载.hd\r:将辐射度 HDR 图像直接加载为一个浮点数列表(每个通道32位,每个颜色 3 个通道),名为等距柱状投影贴图
- 等距柱状投影到立方体:首先渲染立方体,再获得方向(局部坐标插值,三角学),再从贴图采样
- 对这个立方体渲染每个面,根据不同的view矩阵,摄像机的视图渲染,用帧缓冲记录结果
- 有了环境立方体贴图,我们可以按照天空盒应用并测试
- ……
计算辐照度 图立方体贴图
- 创建另一个帧缓冲,存储辐照度图,
- ……
为图元应 用环境光照
- 从辐照度图采样环境光,应用到光照计算中
- ……