Commit Graph

271 Commits

Author SHA1 Message Date
sebastien hillaire
732dded085 LFAtlas - added support for forward translucent and SLW light function sampling from atlas.
LFA parameter can are bound to base pass data. Project settings Cvars controls how to enable those settings.

[CL 30073379 by sebastien hillaire in ue5-main branch]
2023-12-04 03:09:15 -05:00
sebastien hillaire
06a770f20b LFAtlas - added color atlas mode. As a project setting requiring shader compilation.
#rb charles.derousiers

[CL 30034199 by sebastien hillaire in ue5-main branch]
2023-12-01 05:15:26 -05:00
aleksander netzel
97a0dbaf81 Fix ray tracing shader compilation on SM5 - RHISupportsRayTracing was returning true and we were trying to compile those shaders but they crashed because we also check GRHISupportsRayTracing before compiling them which was set to 0 due to the recent change. Also, D3D12 ray tracing validation shaders were using wave operations which are not supported in SM5.
* Update builtin shaders to use ShouldCompileRayTracingShadersForProject instead of always being compiled.
* Modify ShouldCompileRayTracingShadersForProject to respect r.Raytracing.RequireSM6 cvar.
* Don't compile or use D3D12 ray tracing validation shaders on SM5.
#rb Yuriy.ODonnell
#jira UE-200526

[CL 29852969 by aleksander netzel in ue5-main branch]
2023-11-20 17:28:39 -05:00
aleksander netzel
18f1419cee Disable ray tracing for SM5:
* Set r.RayTracing.RequireSM6 to 1 by default.
* Editor will display a notification if shader format is set to SM5 but ray tracing is enabled
* To make the transition easier setting r.RayTracing.RequireSM6=0 will make ray tracing available in SM5 as before.
#rb christopher.waters, jeannoe.morissette, mihnea.balta, Yuriy.ODonnell

[CL 29759185 by aleksander netzel in ue5-main branch]
2023-11-15 16:25:52 -05:00
dmitriy dyomin
e947de61d9 Moved FReadOnlyCVARCache to RenderCore module
Cleaned up and made more rendering read-only cvars go through this cache
It now can cache platform specific cvars, in non-editor builds
#rb jack.porter

[CL 29681907 by dmitriy dyomin in ue5-main branch]
2023-11-13 09:13:11 -05:00
jian ru
fa957c9c0f Only disable DCC on gbuffers when nanite fast tile clear is enabled
#rb graham.wihlidal

[CL 29294244 by jian ru in ue5-main branch]
2023-10-31 18:08:58 -04:00
arciel rekman
97adb314f8 Fix Nanite splitscreen issues.
- Make sure ViewRect.Min is at least 8x8-aligned when Nanite is enabled.

#rb Graham.Wihlidal

[CL 29164199 by arciel rekman in ue5-main branch]
2023-10-26 21:43:17 -04:00
erica stella
d7c06bdb8d Require Mobile HDR when using Mobile Deferred Shading in Project Settings.
#jira UE-196669
#rb arciel.rekman dmitriy.dyomin

[CL 29081862 by erica stella in ue5-main branch]
2023-10-25 04:51:14 -04:00
sebastien hillaire
3732464a7d Added a cvar to force skylight cubemap blending per platform for forward shading. This allows for higher quality refelction on some platforms using forward shading, for instance when using the mobile forward shading path.
#rb Florin.Pascu, Dmitriy.Dyomin

[CL 28995819 by sebastien hillaire in ue5-main branch]
2023-10-20 23:11:34 -04:00
charles derousiers
f6c27078a4 Minor clearn up for Lumen Reflection/ScreenProbe/Restir.
Remove no-longer/unecessary primary/extended coord computation.

#rb none
[FYI] sebastien.hilllaire, krzysztof.narkowicz

[CL 28959677 by charles derousiers in ue5-main branch]
2023-10-20 06:49:04 -04:00
guillaume abadie
b8a0c07ad1 Works arround a bug where UMaterial::bHasPixelAnimations wasn't being drawn due to VelocityEncodeDepth() return false at runtime on platform that do support it.
This solution is chosen to avoid a shader invalidation

#rb Jeremy.Moore
#jira UE-198416
#tests win64

[CL 28886890 by guillaume abadie in ue5-main branch]
2023-10-18 15:32:21 -04:00
graham wihlidal
26075dfbb7 Preliminary support to disable shader compilation for Nanite legacy materials in favor of compute (legacy and compute still co-exist). Also includes additional work on Lumen CS materials + skipping incorrect pipeline loads for CS materials with the wrong factory.
[FYI] brian.karis, ben.woodhouse, rune.stubbe, jamie.hayes
#jira UE-187341

[CL 28870740 by graham wihlidal in ue5-main branch]
2023-10-18 02:45:28 -04:00
charles derousiers
8036626ac4 Rename SubstrateDefinitions.h defines from x_BSDF_x to x_CLOSURE_x
#rb none
[FYI] sebastien.hillaire

[CL 28725412 by charles derousiers in ue5-main branch]
2023-10-12 15:57:47 -04:00
florian penzkofer
f0d3b0bf34 Add support for DBuffer decals to the mobile forward renderer.
The DBuffer layout and most code is the same as for the desktop renderer.
Added new CVar r.Mobile.DBuffer so that is disabled by default. DBuffer for the SM5 renderer on mobile is enabled by default.

#rb Dmitriy.Dyomin, Sebastien.Hillaire

[CL 28598190 by florian penzkofer in ue5-main branch]
2023-10-09 16:48:41 -04:00
graham wihlidal
e39bfa81b8 Temporarily disable Nanite CS materials for Vulkan until there is support for CS explicit derivatives and implicit LOD
[FYI] brian.karis, rune.stubbe, jamie.hayes, laura.hermanns, jeannoe.morissette
#jira UE-187341

[CL 28363222 by graham wihlidal in ue5-main branch]
2023-09-29 22:53:27 -04:00
dmitriy dyomin
b967feaef8 Add ability to setup VT support on a per-platform basis
#rb jeremy.moore

[CL 28260983 by dmitriy dyomin in ue5-main branch]
2023-09-26 22:38:26 -04:00
brandon dawson
7681d4b939 Add DoesTargetPlatformSupportNanite to the render utils and remove duplicated definitions.
[CL 28231394 by brandon dawson in ue5-main branch]
2023-09-26 11:47:56 -04:00
graham wihlidal
46002ffa10 Refactored Nanite draw command caching to avoid any bookkeeping of shading bins when CS materials are disabled (and safe to toggle at runtime still). Also addressed a shader bundle lifetime issue.
#jira UE-187341
[FYI] ben.woodhouse, arciel.rekman

[CL 28216837 by graham wihlidal in ue5-main branch]
2023-09-26 02:12:50 -04:00
josie yang
173b6f8fca Add IsGPUSkinPassThrough to shader DDC key
#jira UE-192405
#rb Dan.Elksnitis, Jeremy.Moore

[CL 28028826 by josie yang in ue5-main branch]
2023-09-20 04:16:26 -04:00
serge bernier
82874aeeb5 Remove View.OverrideLandscapeLOD unfirom param used to force the LOD for LandscapeVF. Use the FIX_GRID permutation of the landscape instead. This allows better perf on some shader compilers, since the uniform was used to conditionally fetch two SSBOs.
#rb [at]krzysztof.narkowicz, [at]tim.dorries

[CL 27947336 by serge bernier in ue5-main branch]
2023-09-16 22:05:11 -04:00
charles derousiers
a203fd7037 Make Glint/SpecularLUT/SheenQuality be set per platform.
#rb none
[FYI] sebastien.hillaire

[CL 27947302 by charles derousiers in ue5-main branch]
2023-09-16 22:04:52 -04:00
sebastien hillaire
a75c7a6e10 Substrate - Added closure count limit for performance control.
Also added in editor UI for that.

#rb none
see also https://horde.devtools.epicgames.com/job/65004b61563726dac8c16b5c
[FYI] charles.derousiers

[CL 27830870 by sebastien hillaire in ue5-main branch]
2023-09-13 10:37:47 -04:00
jamie hayes
4a2eaa711f Spline mesh updates:
- Add system for spline meshes to cache their slice transforms into look-up textures to optimize spline evaluations in shaders.
- Optimize the Nanite cluster culling shader with spline mesh deformation enabled to limit the cost of this shader added to all Nanite culling.
- More tightly pack the spline mesh parameters into 7 float4s from 8 and rearrange them to optimize shader access.
- Add "Nanite Cluster Bounds Scale" to spline mesh parameters as a means of fixing rare artifacts caused by inaccurate cluster culling bounds.
- A few other various tweaks and fixes to Nanite spline meshes.
- With these improvements, r.Nanite.AllowSplineMeshes is now on by default

NOTE: This is a re-submission of a change that had been previously rolled back. It is now being resubmitted with fixes to the following issues:
- Gaps in spline meshes due to calculating endpoint tangents using finite differencing of the texture.
- Fixed an issue where spline mesh deformation was broken in RVT rendering.
- Fix to an assert that would trip in some commandlets that were using the scene uniform buffer without having first initialized FSystemTextures
- Handle extrapolation of spline sampling from manually specifying mesh extents that are smaller than the actual mesh boundaries.

#rb brian.karis
#jira UE-181795

[CL 27697936 by jamie hayes in ue5-main branch]
2023-09-07 20:32:42 -04:00
marc audy
65de35fdfb Lof elements that were not renamed yet.
- MSM_Substrate
- MCT_Substrate
- FStrataMaterialInput

#rb charles.derousiers

[CL 27563163 by marc audy in ue5-main branch]
2023-09-01 15:06:19 -04:00
tiago costa
62242df915 Moved IsStaticLightingAllowed() to RenderUtils.h and replaced relevant usage.
#rb ola.olsson

[CL 27557666 by tiago costa in ue5-main branch]
2023-09-01 12:07:26 -04:00