Files
UnrealEngineUWP/Engine/Source/Runtime/Renderer/Private/GlobalDistanceField.cpp
daniel wright abe8a7e6c3 Global Distance Field:
* Creates a half res Coverage atlas when Lumen is active, which tracks whether the region in space is occupied by two sided materials (foliage), which then get a smaller surface expand to reduce over-occlusion
* r.LumenScene.GlobalSDF.FullyCoveredExpandSurfaceScale, r.LumenScene.GlobalSDF.UncoveredExpandSurfaceScale
* A larger MinStepSize is used in two sided regions to accelerate tracing: r.LumenScene.GlobalSDF.UncoveredMinStepScale

Radiance Cache:
* Fixed allocator overflow corrupting the cache
* Probes placed for foliage trace at the lowest resolution

Screen Probe Gather:
* Two Sided Foliage shading interpolates from Screen Probes a second time using the backfacing normal

Radiosity:
 * Ray directions are generated off of CardCoord instead of AtlasCoord, fixing a source of non-determinism

3.66ms   DiffuseIndirectAndAO -> 3.73ms in a scene with no foliage
4.71ms   DiffuseIndirectAndAO -> 6.05ms in a scene with heavy foliage, because fixing over-occlusion makes traces cost more

#preflight 621d89e5814dfc80784f1028
#jira UE-141204
#rb Krzysztof.Narkowicz
#lockdown Juan.Canada

#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 19201289 in //UE5/Release-5.0/... via CL 19201886
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19214930 by daniel wright in ue5-main branch]
2022-03-01 21:07:45 -05:00

121 KiB