Commit Graph

472 Commits

Author SHA1 Message Date
Guillaume Abadie
46a784ccaa Rewrites dynamic translucency resolution on top of the DynamicRenderScaling API
#rb none
#jira UE-152561
#preflight 628f49d99d313ae1c7ddf9a8

[CL 20377304 by Guillaume Abadie in ue5-main branch]
2022-05-26 05:54:01 -04:00
zach bethel
50b6956d6a Ported IrradianceEnvironmentMap to RDG.
#preflight 628d31a3c97e4beea3ad4e21
#rb sebastien.hillaire

[CL 20370328 by zach bethel in ue5-main branch]
2022-05-25 15:53:11 -04:00
Charles deRousiers
9b657a7014 Fix crash when using material with UseHairStrands option enabled on a non-groom geometry.
#rb none
#jira none
#preflight 628e19c70b4e5c95f44309fe

[CL 20362831 by Charles deRousiers in ue5-main branch]
2022-05-25 08:22:32 -04:00
Wei Liu
355707489e Refactor of mobile custom depth/stencil to line up with pc on all mobile platform.
#jira none

#rb Dmitriy.Dyomin
#fyi Serge.Bernier
#preflight 627b87a65d003338d95018bf

[CL 20135905 by Wei Liu in ue5-main branch]
2022-05-11 06:10:52 -04:00
carl lloyd
e9f9596700 Fixed new instances of reflection capture uniforms not using mobile ub
#rb trivial
#preflight 626aa311a5009ff191b06bee

[CL 19961782 by carl lloyd in ue5-main branch]
2022-04-28 10:44:39 -04:00
carl lloyd
73c8996430 Mobile GL Deferred ReflectionCapture UBO fix (passed too many elements and hit the GL limit)
#rb Zach.Bethal, Dmitriy.Dyomin
#preflight 626a69d52d28b9d0f7831abc

[CL 19957425 by carl lloyd in ue5-main branch]
2022-04-28 06:34:43 -04:00
aleksander netzel
8cca334fdf Use MinDrawDistance in ray tracing cullling:
* 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]
2022-04-21 06:46:23 -04:00
jason hoerner
b19bb6be2f UE5_MAIN: Multi-view-family scene renderer refactor, part 1. Major structural change to allow scene renderer to accept multiple view families, with otherwise negligible changes in internal behavior.
* 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]
2022-04-19 14:45:26 -04:00
krzysztof narkowicz
b17a57b96a Lumen - moved Lumen atlasses to a single graph resource. Instead of of multiple RegisterExternalTexture/ConvertToExternalTexture calls per frame, there's only one pair which keeps RDG textures inside FLumenSceneFrameTemporaries.
#preflight 625d7c4a6813aa38e3cdf9de

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 19791441 via CL 19791552 via CL 19791599
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v939-19570697)

[CL 19809541 by krzysztof narkowicz in ue5-main branch]
2022-04-19 11:32:50 -04:00
Ola Olsson
15b747d7f2 Disable primitive octree culling (r.UseVisibilityOctree) by default as this causes visibility culling issues because of the limited extent of the tree (HALF_WORLD_MAX).
- 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]
2022-03-18 06:08:19 -04:00
daniel wright
cefd739201 Lumen Front Layer Translucency Reflections - provides mirror reflections on translucent surfaces
* 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]
2022-03-15 15:08:58 -04:00
jeremy moore
b3374d7625 #jira UE-145638
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]
2022-03-11 16:37:25 -05:00
dmitriy dyomin
d8193e46b4 Added max draw distance for an overlay material. Supported on static and skeletal meshes
#rb jack.porter

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18900966 via CL 18901055 via CL 18901059 via CL 18901063 via CL 19330767
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348512 by dmitriy dyomin in ue5-main branch]
2022-03-10 22:14:25 -05:00
Josie Yang
865cd14c53 Refactor to simplify ray tracing geometry update logic for skeletal mesh.
*) 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]
2022-02-28 13:14:10 -05:00
serge bernier
0c81d56cfe Compile fix
#rb [at]aurel.cordonnier

#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 19152481 via CL 19152673 via CL 19152691 via CL 19160441
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161683 by serge bernier in ue5-main branch]
2022-02-25 19:55:53 -05:00
kevin ortegren
fc3acdf6d1 [Backout] - CL19146706
[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]
2022-02-25 19:29:43 -05:00
arciel rekman
f6ccaa9567 Fix shadow artifacts in the right eye (UE-136749).
#rb Jules Blok, Yuriy O'Donnell
[REVIEW] [at]Jules.Blok, [at]Yuriy.ODonnell
#jira UE-136749
#preflight 62184a6248518fd8cbea663b

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 19142586 in //UE5/Release-5.0/... via CL 19142695
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19156111 by arciel rekman in ue5-main branch]
2022-02-25 16:00:41 -05:00
chris kulla
11ebcdcd68 Fix path tracer updates not working over nDisplay and in the editor's Picture-in-picture camera previews.
* 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]
2022-02-25 00:02:42 -05:00
serge bernier
be5b56fe91 Fix typos
#rb mickael.gilabert

#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 18979647 via CL 18979769 via CL 18979811 via CL 18979848 via CL 18992708 via CL 18993049
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997350 by serge bernier in ue5-main branch]
2022-02-15 11:35:04 -05:00
serge bernier
245b44fd42 Skip post process material pass when all the pixels will fail the stencil test of the material. 0.1ms save on switch and will save more on mobile that are doing the stencil test in the pixel shader with a clip.
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 18900989 via CL 18901005 via CL 18901009 via CL 18906109 via CL 18906530
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v915-18905420)

[CL 18906583 by serge bernier in ue5-main branch]
2022-02-08 14:00:07 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#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]
2022-02-02 07:59:31 -05:00
andrew davidson
cac76b118e Fix FVector2D variant casts - Renderer
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]
2022-02-02 01:43:41 -05:00
daniel wright
d4edb77771 Support Reflection Captures in projects with r.AllowStaticLighting=0. This allows them to be used on Medium scalability, when Lumen GI is disabled.
* 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]
2022-01-27 21:25:37 -05:00
andrew davidson
3542cab338 FMatrix explicit cast fixes - Renderer
#rb ben.ingram, zak.middleton
#preflight 61f285e71e5d78c38307cda4

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18752245 in //UE5/Release-5.0/... via CL 18752267 via CL 18752335
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18752338 by andrew davidson in ue5-main branch]
2022-01-27 07:20:20 -05:00
zak middleton
36c99f6887 #ue5 - LWC: FVector4f <-> FVector4d conversion is now explicit.
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]
2022-01-27 03:30:41 -05:00