Commit Graph

123 Commits

Author SHA1 Message Date
tim doerries
1efb722a91 Reworked CL for adding support for filtered virtual shadow maps on SingleLayerWater. Implemented by applying the VSM shadow mask to the SeparateMainDirLight texture that is written out by the main water pass in the presence of distance field shadows (or VSM filtering) and then later composing it back into the scene. Also removed EncodeLightAttenuationFromMask() function from VirtualShadowMapMaskBitsCommon.ush.
Originally reviewed in review 22330833.

#rb andrew.lauritzen, Ola.Olsson, Sebastien.Hillaire
#jira FORT-515227
#rnx
#preflight 6356c6700313c24974e8f7dd

[CL 22749579 by tim doerries in ue5-main branch]
2022-10-25 09:19:25 -04:00
bob tellez
58a94a0239 Merging CL#22581718
[Backout] - CL22476756
[FYI] tim.doerries
Original CL Desc
-----------------------------------------------------------------
Added support for filtered virtual shadow maps on SingleLayerWater. Implemented by applying the VSM shadow mask to the SeparateMainDirLight texture that is written out by the main water pass in the presence of distance field shadows (or VSM filtering) and then later composing it back into the scene. Also removed EncodeLightAttenuationFromMask() function from VirtualShadowMapMaskBitsCommon.ush.

#rb andrew.lauritzen, Ola.Olsson, Sebastien.Hillaire
#rnx
#preflight 6345d0aeb757820b7a90db71

[CL 22587146 by bob tellez in ue5-main branch]
2022-10-17 19:32:43 -04:00
tim doerries
462a1f21d5 Added support for filtered virtual shadow maps on SingleLayerWater. Implemented by applying the VSM shadow mask to the SeparateMainDirLight texture that is written out by the main water pass in the presence of distance field shadows (or VSM filtering) and then later composing it back into the scene. Also removed EncodeLightAttenuationFromMask() function from VirtualShadowMapMaskBitsCommon.ush.
#rb andrew.lauritzen, Ola.Olsson, Sebastien.Hillaire
#rnx
#preflight 6345d0aeb757820b7a90db71

[CL 22565339 by tim doerries in ue5-main branch]
2022-10-17 10:51:56 -04:00
andrew lauritzen
5fa7ade72b Fix VSM when r.Nanite.ProjectEnabled=0
#jira UE-165479
#rb christopher.waters

[CL 22334556 by andrew lauritzen in ue5-main branch]
2022-10-04 13:52:45 -04:00
ola olsson
e929658097 Implemented depth prepass for SingleLayerWater. Depth prepass output is fed into VSM page marking/allocation shader to get correct VSM pages for sampling VSM on water. The depth prepass is also used in the main water pass by setting the main pass depth test to EQUAL and forcing earlyZ. CopyTexture() is currently not supported for depth buffers on all platforms, so I had to write a custom copy shader to create a copy of the main depth buffer to render the water depth prepass into.
#ushell-cherrypick of 21812612 by tim.doerries
#rb Ola.Olsson, andrew.lauritzen, Sebastien.Hillaire
#rnx
#preflight 6331ccc3a4769ad714ad3473

[CL 22307543 by ola olsson in ue5-main branch]
2022-10-03 12:55:37 -04:00
ola olsson
97954ce075 Added project setting to disable per-object translucency shadows (off by default)
#jira UE-157672
#rb Sebastien.Hillaire,Krzysztof.Narkowicz
#preflight 633ad42eef77394565fe472d

[CL 22305618 by ola olsson in ue5-main branch]
2022-10-03 11:35:41 -04:00
Florin Pascu
6b3c1469ba Preview Shader Platform using different ShaderMaps and the DDPI/Cvar values of the Previewable Actual Platform
NumPlatforms limit changed from 64 to 65536, limited by NumBits
#jira UE-120561
#rb Chris.Waters, Jack.Porter, Mihnea.Balta
#preflight 630f1604f92416fb92b373ab

[CL 21718179 by Florin Pascu in ue5-main branch]
2022-08-31 04:38:34 -04:00
dmitriy dyomin
ba4c590e33 Added ShadingModels mask.
r.Mobile.ShadingModelsMask can be used to mask out specific shading models on mobile platforms.
Masked shading models will fallback to DefaultLit

[CL 21540496 by dmitriy dyomin in ue5-main branch]
2022-08-24 10:40:03 -04:00
serge bernier
77a2d486ea -Use Depth and velocity pass on Xb1 and Ps4 (VelocityParallel).
- Saves ~0.3ms on PS4/XB1 (Dynres = 100%).
-Add possibility to disable grass velocity output when WPO velocity is enable (only effective when r.velocity.enablevertexdeformation != 0 and r.OptimizedWPO = true)

#rb [at]jeremy.moore

[CL 21524947 by serge bernier in ue5-main branch]
2022-08-23 19:21:36 -04:00
Wei Liu
c5b17c54eb Enable mobile ambient occlusin on LDR
#jira none

#rb Dmitriy.Dyomin
#preflight 62fc9828086f90bbc4664adf

[CL 21422099 by Wei Liu in ue5-main branch]
2022-08-17 03:40:59 -04:00
Dmitriy Dyomin
f00c0a426b Remove support for a landscape baked mesh which was used for mobile platforms only
#jira none
#rb jonathan.bard
#preflight 62d769cdbc175ec68cee67d0

[CL 21171586 by Dmitriy Dyomin in ue5-main branch]
2022-07-19 23:03:12 -04:00
Dan Thompson
39fc9af40d Migrate pixel format size calculations to Core so that texture build workers (and misc programs) can touch them without having to depend on RenderCore. By popular demand, brough over the RHI specific capabilities stuff as well.
#rb Mihnea.Balta
#preflight 62cdafda254b7ba6dbcf2501

[CL 21059272 by Dan Thompson in ue5-main branch]
2022-07-12 13:56:13 -04:00
graham wihlidal
523081e351 Removed compilation (of never used!) legacy simple forward shading permutations from Windows shader databases (~27% reduction of SM6, ~22% reduction of SM5 when simple forward was enabled in the compiler)
#rb brian.karis, daniel.wright, sebastien.hillaire, charles.derousiers
[FYI] michal.valient, jason.nadro, zousar.shaker
#preflight 62c7654aa6654f9729ea9cc0

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 21010489 via CL 21010513 via CL 21010531
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21023729 by graham wihlidal in ue5-main branch]
2022-07-09 14:02:06 -04:00
dmitriy dyomin
dd061a0b68 Mobile: Make clustered lights and reflections optional for translucency when deferred shading is enabled
[FYI] wei.liu

#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 20964670 via CL 20964684 via CL 20964740
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 20965531 by dmitriy dyomin in ue5-main branch]
2022-07-06 09:05:15 -04:00
jeremy moore
18edc48a3e Undo the backout changelist 20750841
This resubmits the following original changelists (with fixes).

Original CL Desc for CL20737284 -----------------------------------------------------------------
Add a version of UseVirtualTexturing() that takes a shader platform.
A future goal is to deprecate the version that takes a feature level.

Original CL Desc for CL20738687 -----------------------------------------------------------------
Virtual texturing forces depth pass on.
This fixes bug when using any masked materials that sample VT.

#jira UE-157197
#jira UE-117783
#preflight 62b1cb8ac400b5ee2f517942

[CL 20757215 by jeremy moore in ue5-main branch]
2022-06-21 10:15:44 -04:00
eric mcdaniel
6735d65cf6 [Backout] - CL20737284 & CL20738687
- testing
  - compiled and cooked QAGame locally for Win64

#preflight 62b12d784c538079d66599da
#rnx
#fyi Jeremy.Moore


Original CL Desc for CL20737284
-----------------------------------------------------------------
Add a version of UseVirtualTexturing() that takes a shader platform.
A future goal is to deprecate the version that takes a feature level.
#preflight 62b080e1613434b77fa673d0


Original CL Desc for CL20738687
-----------------------------------------------------------------
#jira UE-117783
Virtual texturing forces depth pass on.
This fixes bug when using any masked materials that sample VT.
#preflight 62b08fceef1c984554505316

[CL 20750841 by eric mcdaniel in ue5-main branch]
2022-06-20 22:51:39 -04:00
Jeremy Moore
0d124778fb Add a version of UseVirtualTexturing() that takes a shader platform.
A future goal is to deprecate the version that takes a feature level.
#preflight 62b080e1613434b77fa673d0

[CL 20737284 by Jeremy Moore in ue5-main branch]
2022-06-20 10:31:56 -04:00
wei liu
87f2d95ada 1.Supports more shading models on mobile, including twoside foliage, cloth and eye shading models.
2.Uses the same shading models and dynamic lightings code path on desktop.

3.Remove the division of PI on mobile directional light's color in C++ to line up with desktop in shaders.

#jira UE-114145

#rb Dmitriy.Dyomin, Sebastien.Hillaire
#preflight 62b0411fd8082c5c200fa32a

[CL 20734991 by wei liu in ue5-main branch]
2022-06-20 06:02:51 -04:00
graham wihlidal
ca70de9156 Work in progress Nanite support for landscape
#preflight 6297a7f3a660a44a23c0c879
#rb jonathan.bard
[FYI] brian.karis, ola.olsson, michal.valient, rune.stubbe

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20490481 via CL 20490493 via CL 20490509
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20495473 by graham wihlidal in ue5-main branch]
2022-06-03 19:13:16 -04:00
Dmitriy Dyomin
038d909044 Support shading models for mobile deferred path when static lighting is disabled
#rb wei.liu
#jira none
#preflight 627b5f586842238976719cc3

[CL 20134438 by Dmitriy Dyomin in ue5-main branch]
2022-05-11 03:17:42 -04:00
Dmitriy Dyomin
f819c89c21 Support shading models in a mobile deferred shading path. Disabled by default
Requrements:
iOS: A8+
Android VK: more than 4 color attachements, more than 4 input attachments
Android GL: Unsuported - PLS seem to be limited to 128bits on most devices
#rb wei.liu
#preflight 625f866b9c09ef439db7612b

[CL 19861367 by Dmitriy Dyomin in ue5-main branch]
2022-04-22 01:15:27 -04:00
Josh Adams
58608fb18c - When FShaderPlatformCachedIniValue looks up a value for the current running ShaderPlatform, use the platform's own value, even if ShaderPlatformToPlatformName returned a different platform (like Vulkan will return Windows, even when running on Linux)
#jira UE-149568
#rb brandon.schaefer
#fyi jack.porter
#preflight 62605d3f73187d30d0c05192

[CL 19836675 by Josh Adams in ue5-main branch]
2022-04-20 15:48:43 -04:00
andrew lauritzen
5c18f11869 Fix up VSM compile permutation logic to not depend on the runtime variable
#preflight 625f48625f498a37c9360330
#rb jason.nadro

[CL 19832583 by andrew lauritzen in ue5-main branch]
2022-04-20 12:34:59 -04:00
Wei Liu
04d7580d62 Clustered local lights and reflections are supported on mobile forward and deferred.
Local light shadows are supported on mobile forward and deferred, need to enable full depth prepass to generate the ShadowMaskTexture.

Remove the 4 maximum local lights limitation on mobile forward.

Remove the "High Quality Reflection" on mobile forward.

Disable simple lights on mobile forward.

#jira UE-149064

#rb Dmitriy.Dyomin

#preflight 625d17da772cf82d3a6059a6

[CL 19784597 by Wei Liu in ue5-main branch]
2022-04-18 09:09:40 -04:00
Sebastien Hillaire
ab609c73b5 Add support for distance field shadow on water.
Storing water in gbuffer and runnign extra lighting pass would be too expenssiv. So instead, when in deferred, single layer water always output the main dir light luminance into a separate 111110 texture.
DF shadow is applied on that texture. DFShadow culling step is cached the first time for a given view in order to be able to reapply DFShadow later with a depth buffer containing water. This save 0.4ms on a base console.
DFShadow is naturaly skipped if the directional light does not have that feature enabled.
When DFShadow is executed, it is basically 0.24ms extra on a base console @ 1080p.
The separated light buffer is an extra 8MB allocated when in deferred.
This only works with deferred for now (forward does not run the reflection/composite pass).

Render target slot assignement is a bit fuzzy but this is a mostly static setup so should be fine. And could change with Strata down the line.

r.Water.SingleLayer.ShaderSupportDistanceFieldShadow is to enabled dfshadow on water for the shaders. Defaults to 1 and will only be enalbed when using deferred and when distance fields are enabled.
r.Water.SingleLayer.DistanceFieldShadow is a runtime toggle of the feature (if enabled the shaders still output to the separate light render target, but that is simply discarded).

Follow up: tile upsample, tile traceshadow, make it work with strata.

Tested shooter and console.

#rb Tiago.Costa, Kevin.Ortegren
#preflight https://horde.devtools.epicgames.com/job/62457ad79f404234145cd424

[CL 19613312 by Sebastien Hillaire in ue5-main branch]
2022-04-04 15:03:48 -04:00