直接照明的漫反射/镜面反射能量保留和 IBL 一致性
作者: zyz23333创建于 2026年6月21日更新于 2026年9月9日
标签enhancementlow priority
□ 直接照明散射/光谱能保存和IBL一致性
页:1
Filament的BRDF文件已经确定了两个相关的能源问题:
** 分散反射的能源收益**
- ** 光谱反射的能源损失**
第二个问题,即光谱能量损失,已经在标准阴影模型中通过多光谱能量补偿术语处理:
缩略语 像素. 能量补偿=1.0 + 像素.f0 * (1.0 / 像素.dfg.y - 1.0); fr. 能量补偿;
这个缩放单相片的GGX相片叶片,以补偿失去的能量,不明确地模拟多相片微相片散射.
然而,第一个问题,即散射反射的能益,对于直接照明来说仍未得到解决。 标准阴影模型目前独立评价扩散和光谱,并添加:
vec3 Fr = specular Lobe(像素,光,h,NoV,NoL,NoH,LOH). vec3 Fd = 扩散Lobe(像素、无线、无线、LOH);
//TODO:为避免能量增益而去除扩散叶.
vec3 color = Fd + Fr * 像素. 能量补偿;
问题在于分光叶被多分光叶所补偿,但分光叶仍然被评价为全出事光已经到达分光出散事件. 在Filament自己的术语中,光谱-侧**能损失**得到补偿,但扩散-侧**能收益**没有被去除.
这个问题表明,在多重损害补偿之后,将出现有效的光谱定向反照率:
vec3 补偿 SpecularDirectional Albedo(相接像素) { 返回饱和度( specularDFG( 像素) * 像素. 能量补偿); {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
利用它来收缩扩散的叶子:
Fd -- -- 1.0 -- -- 补偿Specular Directional Albedo(像素);
这完成了现有分光能补偿的散边对应,并使得直接照明,预滤取的IBL,并用重要取样的IBL使用相同的能核算.
-- -- . . .
* 背景:赔偿与保全
Filament的文件描述了两个不同的问题:
1. 分散反射的能益
文件说,Lambert扩散式BRDF没有说明表面反射的光线,因此不能参与扩散式散射事件。
在对标准材料的分层解释中,事件光先与光谱界面相互作用. 只有未被光谱层所反映的部分才应到达扩散地层.
概念上:
能源 = 光谱反射能量
- 向散射传播能量
因此,如果光谱层反映 " E " 等量,扩散叶应大约得到:
1 - E级
对事件能量的影响
2. 光谱反射能量损失
Filament公司使用的Cook-Torrance GGX BRDF是一种单片显微面模型. 在高粗糙度时,光能弹出在微相之间后再逃跑. 单发型
. . . . . . .内容来源: google/filament