* Fixed section filtering bug causing to generate SDF from random triangles when a single section was filtered out
* Removed plane hack, which was squashing some meshes and causing generation rays to randomly return backface / frontface hits
Tested in FortGPUTestBed and Fornite, but didn't notice any issues introduced by plane hack removal. If something breaks, then anyway we should fix it in the tracing code by improving non uniform SDF scale support there.
#rb Daniel.Wright
[CL 14571736 by Krzysztof Narkowicz in ue5-main branch]
1. Cache trace hit points per voxel into a visibility buffer {meshId;HitT}
* All camera and object updates are cached and converted into a list of dirty bricks
* Build list of {brickId; meshId} for dirty regions
* Clear vis buffer for dirty regions
* Trace mesh SDF rays per list element, and scatter results with atomic into the vis buffer
2. Shade cached visibility buffer every frame
* Clear voxel lighting climap
* Compact voxel lighting vis buffer per brick
* Shade compacted bricks
Reverb, NV 1080, Clipmap 0 in cave (largest object density in Reverb):
Previous:
* 1.06ms
New one:
* Update cache for a 4 voxel scroll on diagonal - 0.18ms
* Reshade: 0.14ms
#rb Daniel.Wright
[CL 14514004 by Krzysztof Narkowicz in ue5-main branch]
Contains all work on Lumen since shipping Reverb in March:
* New Opaque Final Gather with higher quality in clean architecture and better performance
* Improved global tracing which reduces leaking
* New basic Reflections pipeline which respects material Roughness
* New HZB traces that are more accurate at tracing against the depth buffer
* Hardware Ray Tracing paths for Lumen shadowing and Final Gather
#rb none
[CL 14274844 by Daniel Wright in ue5-main branch]
Copied cl 13694808 - Fix dx11 and dx12 inconsistency issue by renaming uploading resources.
Note: The same resource is only allowed to be locked/unlocked once per frame in dx12.
#rb Krzysztof.Narkowicz tiantian.xie
[CL 14088852 by Daniel Wright in ue5-main branch]
Fixed a crash that can happen on exit.
Further reduced self shadow artifact when using RTHF shadow.
#ROBOMERGE-SOURCE: CL 11077247 via CL 11077248 via CL 11077250
#ROBOMERGE-BOT: (v637-11041722)
[CL 11077251 by jian ru in Main branch]
- More flexible UV space allocation strategy for the heightfield atlas
- Fixed a bug where heightfield objects can be falsely culled
- Fixed a bug where heightfield object data is not updated when the atlas realloc
#ROBOMERGE-SOURCE: CL 11058973 via CL 11059839 via CL 11059892
#ROBOMERGE-BOT: (v637-11041722)
[CL 11059983 by jian ru in Main branch]
#rb Krzysztof.Narkowicz
[FYI] Ben.Woodhouse
#ROBOMERGE-SOURCE: CL 10996123 via CL 10996131 via CL 10996136
#ROBOMERGE-BOT: (v633-10983880)
[CL 10996139 by jian ru in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
Replicated from CL# 7924370.
#rb none
#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)
[CL 9279836 by steve robb in Main branch]
[REVIEW] [at]daniel.wright
#rnx
#ROBOMERGE-SOURCE: CL 6940274 via CL 6943907
#ROBOMERGE-BOT: (v366-6836689)
[CL 6946689 by mickael gilabert in Main branch]