Commit Graph

4930 Commits

Author SHA1 Message Date
ben ingram
65a5805052 Fix for LWC mod/trig operations
#rb none
#jira none
#preflight none

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18728115 in //UE5/Release-5.0/... via CL 18728128 via CL 18728269
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18728288 by ben ingram in ue5-main branch]
2022-01-25 16:28:14 -05:00
krzysztof narkowicz
837d471bda Lumen - refactor heighfield surface cache sampling to share functionality with the mesh SDF one. With the most important being SampleLumenMeshCards, which provides debug views, lighting normalization, high res page sampling etc.
#preflight 61ef14524018b3d62e755da0
#rb Patrick.Kelly

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18725085 in //UE5/Release-5.0/... via CL 18725258 via CL 18725446
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18725479 by krzysztof narkowicz in ue5-main branch]
2022-01-25 13:28:32 -05:00
josie yang
c90956d2db Support LWC on GPUSkinnedVertexFactory and SkinCache shaders
*) change GPUSkinVF to do cloth simulation in component space instead of world space
*) transform simulated pos from component space into local space and blend with skinned pos

#jira UE-126763
#preflight 61f0149e1f5c4c6f64955cf1
#rb kriss.gossart

#ROBOMERGE-AUTHOR: josie.yang
#ROBOMERGE-SOURCE: CL 18724967 in //UE5/Release-5.0/... via CL 18724975 via CL 18725327
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18725333 by josie yang in ue5-main branch]
2022-01-25 13:20:58 -05:00
dmitriy dyomin
90f0b2308f Added an option to apply height and atmospheric fog as a separate pass on mobile (disabled by default)
This helps to cut fog shader code and state setup from most of the draws
#rb Sebastien.Hillaire

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18721502 via CL 18721505 via CL 18721507 via CL 18724684 via CL 18725109
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18725126 by dmitriy dyomin in ue5-main branch]
2022-01-25 13:02:45 -05:00
krzysztof narkowicz
cdc5d2d3f8 Lumen - fixed HWRT visualization offset, when viewport doesn't match backbuffer
[FYI] Daniel.Wright, Patrick.Kelly
#preflight 61f0007b8c16f8372249a257

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18721948 in //UE5/Release-5.0/... via CL 18721953 via CL 18721987
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18721993 by krzysztof narkowicz in ue5-main branch]
2022-01-25 09:00:22 -05:00
sebastien lussier
013bb9545c Fixed error in LandscapeGrassWeight.usf when GPUScene is disabled
#rb jonathan.bard
#preflight 61effd13fd5285142b15b775

#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 18721884 in //UE5/Release-5.0/... via CL 18721888 via CL 18721920
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18721928 by sebastien lussier in ue5-main branch]
2022-01-25 08:49:21 -05:00
daniel wright
c3e05175c4 Fixed skylight not getting applied on Screen Probe Gather HW trace miss with r.Lumen.ScreenProbeGather.RadianceCache 0
#preflight skip

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

[CL 18719155 by daniel wright in ue5-main branch]
2022-01-24 22:09:05 -05:00
jamie hayes
d096fecbe6 Fix LWC bugs with Niagara meshes
Bring back the define to be able to disable Niagara meshes from using GPU Scene for testing

#rb michael.galetzka
#jira none
#preflight 61ef2528ef289ffc6dfd98cb

#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 18715591 in //UE5/Release-5.0/... via CL 18715630 via CL 18715822
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18717045 by jamie hayes in ue5-main branch]
2022-01-24 18:59:23 -05:00
krzysztof narkowicz
21942cd50c Lumen - fixed sparse span array and marking with yellow when entire mesh has missing surface cache coverage in the Lumen surface cache view mode
#preflight 61ef14524018b3d62e755da0

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18714392 in //UE5/Release-5.0/... via CL 18714425 via CL 18714787
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18714844 by krzysztof narkowicz in ue5-main branch]
2022-01-24 16:41:46 -05:00
krzysztof narkowicz
d436e35071 Lumen Landscape - fixed local card index for heightfields. Heightfields have always 1 card in slot 0, so there's no need to use CardLookup bitmask.
#preflight 61eef14daa3f15faa5805925
[FYI] Patrick.Kelly

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18712829 in //UE5/Release-5.0/... via CL 18712849 via CL 18713175
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713209 by krzysztof narkowicz in ue5-main branch]
2022-01-24 15:08:22 -05:00
christopher waters
c08bc8a9cd Intel extensions for 64bit atomics
#jira none
#rb mihnea.balta, graham.wihlidal
#preflight 61eeeb29ba69a4fdb219e68f

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18712534 in //UE5/Release-5.0/... via CL 18712568 via CL 18712835
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18712869 by christopher waters in ue5-main branch]
2022-01-24 14:48:23 -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
Charles deRousiers
e810d1f781 Fix invalid Strata normal in forward lighting.
#rb none
#jira none
#fyi sebastien.hillaire
#preflight skip

[CL 18706541 by Charles deRousiers in ue5-main branch]
2022-01-24 04:06:10 -05:00
jian ru
0bceff2427 Fix a cubemap shadow depth vs-ps linkage error
#jira UE-139495

#ROBOMERGE-AUTHOR: jian.ru
#ROBOMERGE-SOURCE: CL 18705169 via CL 18705178 via CL 18705212 via CL 18705222 via CL 18705234
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18705235 by jian ru in ue5-main branch]
2022-01-23 17:37:39 -05:00
patrick kelly
f869b27047 Adding Landscape support for Lumen software tracing and voxel tracing.
r.LumenScene.Heightfield.Tracing (default=0) enables software heightfield tracing for Lumen detail traces.
r.LumenScene.VoxelLighting.Heightfield.Tracing (default=0) enables software heightfield shading for Lumen voxel traces.

#rb kryzsztof.narkowicz
#preflight 61eb7aef862d8dc009a867fc

#ROBOMERGE-AUTHOR: patrick.kelly
#ROBOMERGE-SOURCE: CL 18701194 in //UE5/Release-5.0/... via CL 18701214 via CL 18701239
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18701240 by patrick kelly in ue5-main branch]
2022-01-21 23:23:16 -05:00
ben ingram
b8af618630 Fix for Noise function driven from LWC positions
#rb none
#preflight none
#jira UE-139831

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18699369 in //UE5/Release-5.0/... via CL 18699455 via CL 18699520
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18699556 by ben ingram in ue5-main branch]
2022-01-21 18:49:49 -05:00
ben ingram
d54e9d7b5f Planar reflections operate in translated world space, fix problems at LWC-scale
#preflight 61eb10148a06fa8a2b0e23d8
#jira UE-139794
#rb none

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18697427 in //UE5/Release-5.0/... via CL 18697436 via CL 18697463
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18697485 by ben ingram in ue5-main branch]
2022-01-21 17:12:57 -05:00
jeremy moore
d59231ea50 #jira UE-139844
LWC  fix for deferred decal.
Also move some math from shader to CPU for matrix inverse scale calculation.
#rb ben.ingram
#preflight 61eaf860d524ccc35a1c5606

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18692131 in //UE5/Release-5.0/... via CL 18692243 via CL 18692542
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18692786 by jeremy moore in ue5-main branch]
2022-01-21 13:58:59 -05:00
yuriy odonnell
9a3d54a47a Add support for accessing triangle indices and vertex positions in Vulkan inline ray tracing shaders.
Also add FTraceRayInlineResult::ObjectToWorld3x4 on some platforms (where PLATFORM_SUPPORTS_INLINE_RAY_TRACING_INSTANCE_MATRIX=1).

#preflight 61ea872c0b7ccc3669b8ed79
#rb aleksander.netzel

#ROBOMERGE-AUTHOR: yuriy.odonnell
#ROBOMERGE-SOURCE: CL 18688238 in //UE5/Release-5.0/... via CL 18688257 via CL 18688268
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18688275 by yuriy odonnell in ue5-main branch]
2022-01-21 07:34:21 -05:00
guillaume abadie
f0f8104a5f Compiles TSR shaders with CFLAG_WarningsAsErrors
#rb none
#preflight 61e9a777f160213534a1f49f

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18687624 in //UE5/Release-5.0/... via CL 18687884 via CL 18687924
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18687973 by guillaume abadie in ue5-main branch]
2022-01-21 06:47:55 -05:00
graham wihlidal
0320842b0c More refactoring and progress on programmable Nanite hardware raster
#rb christopher.waters
[FYI] brian.karis, ben.ingram, rune.stubbe, ola.olsson, andrew.lauritzen, jamie.hayes
#preflight 61ea3ae2ab6e1cc028cf8e8e

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18686542 in //UE5/Release-5.0/... via CL 18686543 via CL 18686546
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18686552 by graham wihlidal in ue5-main branch]
2022-01-21 00:31:44 -05:00
graham wihlidal
7e2bfe1928 Refactored Nanite hardware rasterizer to run as material shaders, allowing for future material graph evaluation of features like world position offset, pixel depth offset, and masked materials.
#rb brian.karis, ben.ingram
[FYI] zach.bethel, rune.stubbe, ola.olsson, andrew.lauritzen, jamie.hayes
#preflight 61ea1e0a1739bb8724e468da

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18685715 in //UE5/Release-5.0/... via CL 18685727 via CL 18685735
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18685741 by graham wihlidal in ue5-main branch]
2022-01-20 22:01:51 -05:00
ben ingram
fb06cb1aa9 Improve precision for LWCFrac, LWC wrap texture address mode
#rb none
#jira none
#preflight 61ea010d1739bb8724e0df8d

#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 18684871 in //UE5/Release-5.0/... via CL 18684876 via CL 18684884
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18684892 by ben ingram in ue5-main branch]
2022-01-20 19:55:33 -05:00
charles derousiers
7bc648c050 Add utility function to convert FHairSample into FGBufferData.
#rb none
#jira none
#preflight 61e99d0c963d324152f4b632

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18677110 in //UE5/Release-5.0/... via CL 18677140 via CL 18677161
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18680212 by charles derousiers in ue5-main branch]
2022-01-20 15:40:47 -05:00
jamie hayes
e4bae00099 Add opt-in ability for instanced draw calls to preserve their draw order with GPU Scene after culling.
Requires two additional compute passes post-culling to compact the draw command instances.
This feature is not currently supported on mobile platforms; more work is required to make instance compaction work with mobile vertex buffers.
Updated ISM to use order preservation for meshes that render with a translucent material

#rb ola.olsson, dmitriy.dyomin
#jira none
#preflight 61e98458c92021e535994cd7

#ROBOMERGE-AUTHOR: jamie.hayes
#ROBOMERGE-SOURCE: CL 18676076 in //UE5/Release-5.0/... via CL 18676089 via CL 18676097
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)

[CL 18679861 by jamie hayes in ue5-main branch]
2022-01-20 15:29:06 -05:00