hdrp对ao的做法是gtao(Ground Truth Ambient Occlusion)的做法。通过AmbientOcclusion.cs,执行Render的时候,Dispatch,在里面PrepareRenderAOParameters创建ao的参数,包括执行的computeshader的内核。
GTAO获取ao信号
RenderAO执行gtao,执行到Runtime/Lighting/ScreenSpaceLighting/GTAO.compute。GTAOMain中通过GetPositionVS获取NDC空间信息。fovCorrectedradiusSS存储与ndc的z轴负相关的信息,也就是越远,这个值越小。
然后按照配置的_AODirectionCount执行循环,沿着观察方向在配置的切片_AODirectionCount上寻找两端未被遮挡住的角度,称为水平角HorizonLoop。
HorizonLoop两边的水平角获取

HorizonLoop中_AOStepCount循环获取每隔一定距离获取他的ndc坐标

本文详细介绍了HDRP(High Definition Render Pipeline)中实现Ground Truth Ambient Occlusion (GTAO) 的步骤,包括如何通过AmbientOcclusion.cs计算AO参数,使用GTAO.compute获取NDC空间信息并进行HorizonLoop计算,以及进行抗锯齿、模糊和升采样处理。GTAO技术在提升场景光照质量方面表现出色,通过DenoiseAO进行抗锯齿,并通过UpsampleAO进行模糊和升采样,确保AO效果平滑且细节丰富。
订阅专栏 解锁全文
644

被折叠的 条评论
为什么被折叠?



