Commit Graph

6 Commits

Author SHA1 Message Date
guillaume abadie
fc45b950e2 Fixes remaining short-circuit in the renderer
#rb rune.stubbe

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19352016 via CL 19352024
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19356595 by guillaume abadie in ue5-main branch]
2022-03-11 12:09:45 -05:00
brian white
1d6fff2f51 FPixelShaderUtils::FRasterizeToRectsVS compile fix
#rnx
#jira UE-140978
#rb Daniel.Wright
#preflight 61faf00bc431b6aac0447d04
#lockdown Rolando.Caloca

#ROBOMERGE-AUTHOR: brian.white
#ROBOMERGE-SOURCE: CL 18844221 in //UE5/Release-5.0/... via CL 18844243 via CL 18844336
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18844349 by brian white in ue5-main branch]
2022-02-03 12:06:49 -05:00
daniel wright
58cb210485 Radiosity gather with spatial and temporal reuse
* Radiosity integration and temporal accumulation are now full resolution
* Radiosity traces from probe positions, controlled by r.LumenScene.Radiosity.ProbeSpacing and r.LumenScene.Radiosity.HemisphereProbeResolution

Spatial reuse
* Spatial filtering on probe radiance
* Probe interpolation and spatial filter implement probe plane weighting and probe occlusion to reduce leaking
* No spatial filtering across cards yet

Temporal reuse
* Ray directions and probe placement are jittered across page updates, with the final integrated irradiance temporally accumulated using linear weights
* Radiosity integration now temporally accumulates using typed UAV loads.  History length is controlled by r.LumenScene.Radiosity.Temporal.MaxFramesAccumulated
* Card pages to be updated for Radiosity are resampled from the indirect lighting atlas to the new resolution in the card capture atlas, and then copied back to the indirect lighting atlas, maintaining Radiosity history when card pages are resized (r.LumenScene.SurfaceCache.ResampleLighting)

Hardware Ray Tracing
* Radiosity traces now use AvoidSelfIntersectionTrace, which skips backfaces for a short distance and then intersects backfaces for the rest of the trace to prevent leaking even when starting somewhat inside the mesh
* The Surface Cache is no longer interpolated to trace backface hits, fixing leaking, and preventing Radiosity texels inside walls from picking up sky lighting

Costs the same as previous Radiosity gather, but adds 160mb for all the persistent atlases.  Lighting propagation speed is 4x slower due to r.LumenScene.Radiosity.Temporal.MaxFramesAccumulated.
#preflight 61eb773c5706089488f734e0
#rb Patrick.Kelly

#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 18710273 in //UE5/Release-5.0/... via CL 18710287 via CL 18710529
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18710632 by daniel wright in ue5-main branch]
2022-01-24 12:32:42 -05:00
Krzysztof Narkowicz
f94472aea1 Lumen surface cache compression
* First all cards are allocated to a temporary atlas of fixed size set by r.LumenScene.CardCaptureAtlasFactor
* After cards are captured into temporary atlas, they are compressed into final BC compressed atlas. Compression can be disabled with r.LumenScene.SurfaceCache.Compress
* Atlas clears were also converted to support clearing compressed surfaces
* Atlas capture operations work on uploaded rect list, instead of a GPU generated card list
* Renamed r.LumenSurfaceCache.* to r.LumenScene.SurfaceCache.*
* Renamed LumenSceneLighting.usf to LumenSurfaceCache.usf
* Renamed LumenScenePrefilter.cpp to LumenSurfaceCache.cpp

Cuts down VRAM memory usage by 160mb
Compression performance on console: ~0.18ms for 1M texels (~0.9ms with UAV aliasing path, which is currently disabled due to missing pieces in RHI)

[CL 16160800 by Krzysztof Narkowicz in ue5-main branch]
2021-04-29 15:30:04 -04:00
Juan Canada
f084ece316 Fix copyright issues
#rb none
#jira UE-87461

[CL 11112539 by Juan Canada in Main branch]
2020-01-24 23:36:12 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00