Commit Graph

15 Commits

Author SHA1 Message Date
zach bethel
20b82e1c4e Fixed 16 bit float GBuffer format to use PF_FloatRGBA.
#rb krysztof.narkowicz
#preflight trivial

[CL 20379496 by zach bethel in ue5-main branch]
2022-05-26 11:00:31 -04:00
Sebastien Hillaire
4e91e8da1d Strata - fixed SLW to not cause issue on when shader specifies output format wiht Strata.
The separated main dir light buffer is no longer bound as render target during the base pass. It is used for the DFShadow only.
The main dir light contribution flow thgouth the Strata mateiral buffer.

#rb charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/6273d021b86624d2e8cab0f0

[CL 20056963 by Sebastien Hillaire in ue5-main branch]
2022-05-05 09:38:59 -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
Charles deRousiers
90e7ad66a9 Add a IsStrataEnable function per module where it is used.
#rb none
#jira none
#fyi sebastien.hillaire
#preflight 61eebce65e0414e6ec1e40cb

[CL 18708521 by Charles deRousiers in ue5-main branch]
2022-01-24 10:02:04 -05:00
sebastien hillaire
f8e0092b8b New start material buffer: 2 uint using rop and the rest is written through UAV.
Huge optimisation for console.

#rb charles.derousiers

#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 18309039 in //UE5/Release-5.0/... via CL 18309083
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18309131 by sebastien hillaire in ue5-release-engine-test branch]
2021-11-29 09:31:58 -05:00
sebastien hillaire
456e4231e1 Strata - move back PrecShadow back to render target for upcoming optimisation we have to do
#rb none
[FYI] charles.derousiers

#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 18300168 in //UE5/Release-5.0/... via CL 18300176
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18300181 by sebastien hillaire in ue5-release-engine-test branch]
2021-11-26 09:59:47 -05:00
charles derousiers
3ef6563e74 Move (optionally) precomputed shadow factor into Strata header.
#rb sebastien.hillaire
#jira none

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18294368 in //UE5/Release-5.0/... via CL 18294379
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18294383 by charles derousiers in ue5-release-engine-test branch]
2021-11-25 09:32:59 -05:00
charles derousiers
b44703f4d2 Remove unecessary Gbuffer output during base pass when strata is not enabled.
#rb sebastien.hillaire
#jira none

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18280952 in //UE5/Release-5.0/... via CL 18280965
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18280989 by charles derousiers in ue5-release-engine-test branch]
2021-11-24 04:59:01 -05:00
Daniel Wright
cc2e0f8d83 Fixed auto GBuffer packing for Velocity Depth
[CL 15450581 by Daniel Wright in ue5-main branch]
2021-02-18 00:51:22 -04:00
zach bethel
849e110f2a Added FGBufferBinding to GBuffer info to store pertinent GBuffer binding information in a much smaller footprint.
#rb none

[CL 14984229 by zach bethel in ue5-main branch]
2021-01-04 16:46:15 -04:00
john hable
32f8efc794 Chaning ShaderAutogen to make shader autogen code in FEngineLoop::PreInitPreStartupScreen, instead of when first shader is compiled.
#rb arciel.rekman
#jira ue-101762

[CL 14666446 by john hable in ue5-main branch]
2020-11-05 13:18:41 -04:00
john hable
92385b074f Fixing GBuffer format with high-precision normals.
#jira ue-102507
#rb arciel.rekman

[CL 14655902 by john hable in ue5-main branch]
2020-11-04 15:56:57 -04:00
john hable
8f6ed1d58c Fixing build CIS warning.
#jira ue-101762
#rb none

[CL 14559195 by john hable in ue5-main branch]
2020-10-23 14:11:31 -04:00
john hable
8538d3bef0 Frosty fixes.
#rb arciel.rekman
#jira uesp-4037

[CL 14553343 by john hable in ue5-main branch]
2020-10-22 21:13:03 -04:00
john hable
5f3ff39aed First major checkin for flexible GBuffer.
#rb kevin.ortegren, arciel.rekman

[CL 14547614 by john hable in ue5-main branch]
2020-10-22 14:41:45 -04:00