BentNormal和AO

本文详细探讨了BentNormal在计算GBuffer.DiffuseIndirectSampleOcclusion中的作用,主要影响高光整合和采样时的可见性判断。同时,BentNormal也参与了GBuffer.GBufferAO的计算,对ReflectionEnvironment的反射方式产生影响。AO( Ambient Occlusion)在计算Specular Occlusion时起关键作用,与BentNormal结合在反射部分产生效果。文章还解释了GBuffer.GBufferAO如何影响反射阶段,并讨论了DynamicAmbientOcclusion和DiffuseIndirectAO的计算过程,强调它们对高光而非Specular Occlusion的影响。
摘要由CSDN通过智能技术生成

BentNormal和AO
BentNormal作⽤有两个:
第⼀个参与计算GBuffer.DiffuseIndirectSampleOcclusion. 他的命名就说明只和Diffuse有关。
这个值作⽤于LumenScreenprobeGather,也就是LumenFinalGather阶段,⽤来判断是不是
DIFFUSE_INTEGRATION_IMPORTANCE_SAMPLE_BRDF,也就是⾼光的整合⽅式。另外⼀个作⽤也是在相同的阶段,⽤来采样的
时候判断这个⽅向的可⻅性,然后⽤于diffuse光照的叠加。
所以结论是GBuffer.DiffuseIndirectSampleOcclusion都作⽤于⾼光。
第⼆个参与计算GBuffer.GBufferAO。会作⽤于ReflectionEnvironment。
反射⽅式不能再使⽤lumen,⽽是使⽤screenspace。
1 float DiffOcclusion = MaterialAO;
2 float SpecOcclusion = MaterialAO;
3 ApplyBentNormal(MaterialParameters.CameraVector, MaterialParameters.WorldNormal, MaterialParameters.Tangen
4 GBuffer.GBufferAO = AOMultiBounce( Luminance( GBuffer.SpecularColor ), SpecOcclusion ).g;
这个materialAO就是材质的AO。中间进⾏⼀次applybentnormal的操作:
具体的就是会使⽤材质⾥的bentnormal,计算出对应的半球⾼斯,法线球⾯⾼斯,可⻅性球⾯⾼斯以及镜⾯反射球⾯⾼斯等,最后
获取到对应的specularocclusion, 再通过获取radiance

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值