vault backup: 2025-03-25 14:00:21
This commit is contained in:
parent
4485f5a3de
commit
938eab3068
@ -545,40 +545,9 @@ float3 CompositeReflectionCapturesAndSkylightTWS(
|
|||||||
- 其他没有实现的会谈报错提醒
|
- 其他没有实现的会谈报错提醒
|
||||||
6. 将渲染的AO结果赋予SceneTextures.ScreenSpaceAO
|
6. 将渲染的AO结果赋予SceneTextures.ScreenSpaceAO
|
||||||
7. RenderHairStrandsAmbientOcclusion()
|
7. RenderHairStrandsAmbientOcclusion()
|
||||||
8.
|
8. 应用GI到渲染结果上。
|
||||||
|
9. ApplyAmbientCubemapComposite()
|
||||||
|
|
||||||
|
DiffuseIndirectComposite
|
||||||
|
|
||||||
位于IndirectLightRendering.cpp的RenderDeferredReflectionsAndSkyLighting() => `AddSkyReflectionPass()`
|
FDiffuseIndirectCompositePS, "/Engine/Private/DiffuseIndirectComposite.usf", "MainPS", SF_Pixel);
|
||||||
|
|
||||||
当`DiffuseIndirectMethod = EDiffuseIndirectMethod::Lumen`(也就是开启Lumen GI),如果反射方法为Lumen或者SSR则不会执行后续逻辑。
|
|
||||||
|
|
||||||
不开启Lumen GI,反射方法为:
|
|
||||||
- Lumen:`RenderLumenReflections()`
|
|
||||||
- RT Reflection:`RenderRayTracingReflections()`
|
|
||||||
- SSR:`ScreenSpaceRayTracing::RenderScreenSpaceReflections()`
|
|
||||||
|
|
||||||
`RenderDeferredReflectionsAndSkyLighting()`主要执行了:
|
|
||||||
1. SkyLightDiffuse
|
|
||||||
1. RenderDistanceFieldLighting()
|
|
||||||
1. RenderDistanceFieldAOScreenGrid():渲染距离场AO。
|
|
||||||
2. RenderCapsuleShadowsForMovableSkylight():渲染胶囊阴影。
|
|
||||||
2. ReflectionIndirect
|
|
||||||
- RenderLumenReflections()
|
|
||||||
- RenderRayTracingReflections()
|
|
||||||
- RenderScreenSpaceReflections()
|
|
||||||
3. Denoise
|
|
||||||
- Denoiser:IScreenSpaceDenoiser::DenoiseReflections()
|
|
||||||
- TemporalFilter:AddTemporalAAPass()
|
|
||||||
4. RenderDeferredPlanarReflections():合成平面反射结果。
|
|
||||||
5. AddSkyReflectionPass()
|
|
||||||
|
|
||||||
几种反射方式的大致执行逻辑:
|
|
||||||
- LumenReflection
|
|
||||||
1. 输出FRDGTextureRef ReflectionsColor。
|
|
||||||
- SSR与RT
|
|
||||||
1. 输出结果到IScreenSpaceDenoiser::FReflectionsInputs DenoiserInputs的FRDGTextureRef Color。
|
|
||||||
2. 执行对应的降噪算法。
|
|
||||||
3. 结果赋予给FRDGTextureRef ReflectionsColor。
|
|
||||||
- 执行完上述反射方法后,最后执行`AddSkyReflectionPass()`
|
|
||||||
|
|
||||||
FReflectionEnvironmentSkyLightingPS位于/Engine/Private/ReflectionEnvironmentPixelShader.usf的`ReflectionEnvironmentSkyLighting()`。
|
|
Loading…
x
Reference in New Issue
Block a user