DFGApprox
DFGApprox
计算 PBR 镜面环境光照的 DFG (分布、菲涅尔、几何) 项,为分裂和积分(split-sum integral)提供了一个高质量、无需纹理的近似解。
核心优势
其核心优势在于无需预计算的 DFG/BRDF LUT 纹理,从而节省内存、避免纹理采样问题,并以极高的性能提供了精确的 PBR 环境反射校正。
常见用途
计算标准 PBR 材质的环境光反射
作为构建自定义 PBR 着色器的基础模块
用于可视化和学习 PBR 理论
如何调整
该节点的输出由其两个输入 `roughness` 和 `dotNV` (法线与视线向量的点积) 决定。通过改变这些输入值,可以控制不同粗糙度和视角下的环境反射效果。
代码示例
1// 获取 DFG 的缩放和偏移
2const dfg = DFGApprox.call( { roughness, dotNV } );
3
4// 校正预过滤的环境贴图采样结果
5const specularIBL = envMapSample.mul( dfg.x ).add( dfg.y );