* Objects that are in front of camera will be culled if they are closer than MinDrawDistance.
* Controlled by r.RayTracing.Culling.UseMinDrawDistance (disabled by default for now).
#rb Juan.Canada
#preflight 62611dba731f07cd5cc66930
#ROBOMERGE-AUTHOR: aleksander.netzel
#ROBOMERGE-SOURCE: CL 19846165 via CL 19846200 via CL 19846207
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)
[CL 19846535 by aleksander netzel in ue5-main branch]
* Added "BeginRenderingViewFamilies" render interface call that accepts multiple view families. Original "BeginRenderingViewFamily" falls through to this.
* FSceneRenderer modified to include an array of view families, plus an active view family and the Views for that family.
* Swap ViewFamily to ActiveViewFamily.
* Swap Views array from TArray<FViewInfo> to TArrayView<FViewInfo>, including where the Views array is passed to functions.
* FSceneRenderer iterates over the view families, rendering each one at a time, as separate render graph executions.
* Some frame setup and cleanup logic outside the render graph runs once.
* Moved stateful FSceneRenderer members to FViewFamilyInfo, to preserve existing one-at-a-time view family rendering behavior.
* Display Cluster (Virtual Production) uses new API.
Next step will push everything into one render graph, which requires handling per-family external resources and cleaning up singletons (like FSceneTextures and FSceneTexturesConfig). Once that's done, we'll be in a position to further interleave rendering, properly handle once per frame work, and solve artifacts in various systems.
#jira none
#rnx
#rb zach.bethel
#preflight 625df821b21bb49791d377c9
[CL 19813996 by jason hoerner in ue5-main branch]
- Disabling brings a marginal performance increase for CitySample/AncientGame (both have very high primitive counts), so unclear when we would want it on.
#jira UE-145646
#rb Sebastien.Hillaire
#robomerge fnnc
#preflight 6234590c0820efd094683ea4
[CL 19433538 by Ola Olsson in ue5-main branch]
* When enabled, translucent surfaces are rasterized again to create a minimal translucency GBuffer, using depth writes and tests to only capture the frontmost layer
* Lumen Reflections are run on the translucency GBuffer, without denoising to reduce overhead (forced to mirror)
* Finally the translucent base pass depth-tests against the frontmost layer depth and applies the high quality reflections. Subsequent layers continue to use the Radiance Cache based reflections.
* Disabled by default due the constant overheads when any translucent surface is on-screen
* New Post Process Volume and Project setting to enable
#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 19387917 via CL 19387985
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19391295 by daniel wright in ue5-main branch]
Fix static mesh commands being rendered in both Depth and DepthWithVelocity passes.
They should only be rendered in DepthWithVelocity.
#preflight 622b77e80a614dcb0cfcbaef
#rb krzysztof.narkowicz
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 19359621 in //UE5/Release-5.0/... via CL 19360229
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19361054 by jeremy moore in ue5-main branch]
*) All skin cache entries needing RT geometry update are processed altogether in end-of-frame update whether batch dispatching or not, simplifies the logic.
*) Transition buffers to read immediately after skin cache DoDispatch calls, simplifies the logic.
*) No longer cache the flag to indicate whether RT geometry needs rebuild, the logic is calculated directly when updating RT geometry.
#jira FORT-447473
#rb Aleksander.Netzel, Juan.Canada
#preflight 621cd5339a5676d19a327a29
[CL 19177064 by Josie Yang in ue5-main branch]
[FYI] Kevin.Ortegren
Original CL Desc
-----------------------------------------------------------------
Skip post process material pass when all the pixels will fail the stencil test of the material. Corrects certain stencil test operations from executing full screen when not needed. Saves performance on platforms that are doing the stencil test in the pixel shader with a clip.
#rb serge.bernier
#rnx
#preflight 6218e872a77f4c4a4ba5a6b3
#jira UE-142899
#p4v-cherrypick 18906109
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 18900989 via CL 18901005 via CL 18901009 via CL 19148744 via CL 19148993
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19160947 by kevin ortegren in ue5-main branch]
* Invalidate Path Traced output when component transforms change (this catches cases that don't re-create a primitive info object)
* Invalidate Path Traced output when light color or intensity changes
* Fix invalidation in a scene only affecting a single view (or view family). Instead of a single boolean, the scene now keeps a counter that ticks on changes and each view remembers the last value of this counter to detect changes.
#jira UE-124715
#rb Ryan.Vance,Juan.Canada
#lockdown Juan.Canada
#preflight 6210149c676ae0301347db71
#ROBOMERGE-AUTHOR: chris.kulla
#ROBOMERGE-SOURCE: CL 19087008 via CL 19092565 via CL 19092634 via CL 19093389 via CL 19101802
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19141734 by chris kulla in ue5-main branch]
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build
#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824721 by fred kimberley in ue5-main branch]
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8700e41414fb013dd4002
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801433 in //UE5/Release-5.0/... via CL 18802090 via CL 18821511
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18821594 by andrew davidson in ue5-main branch]
* ReflectionEnvironmentAndSky is now run on Reflection Captures to apply Movable skylight
* Movable meshes and lights are now rendered into Reflection Captures when r.AllowStaticLighting=0
#preflight 61f313bc75432e9e8e64840f
#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 18767566 in //UE5/Release-5.0/... via CL 18767582 via CL 18767664
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18767678 by daniel wright in ue5-main branch]
FLinearColor has also been modified to make any double->float conversions explicit. Previously all 3D TVector versions were allowed to be implicit and thus could convert TVector<double> => FLinearColor => TVector4<float>.
Fixed up all engine and game casts. Added "//LWC_TODO: precision loss" around any explicit casts that previously were silently explicit and we may need to revisit for precision loss analysis.
#jira UE-122085
#rb Ben.Ingram, Andrew.Davidson
#preflight 61f24af473238441cb7bb0f1
#ROBOMERGE-AUTHOR: zak.middleton
#ROBOMERGE-SOURCE: CL 18751249 in //UE5/Release-5.0/... via CL 18751253 via CL 18751319
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18751326 by zak middleton in ue5-main branch]