Commit Graph

144 Commits

Author SHA1 Message Date
Charles deRousiers
2257ad3325 Fix/Add split screen & VR support for Strata (i.e., Tiling/Lighting/SSS/Distortion).
This CL split the resources shared between views (non-buffer/tiled data) and resources unique to view (e.g., tile data). This is to ease overall setup, but we might re-regroup them later.

#rb none
#jira none
#preflight 62488f4d927e60e3418751db
#fyi sebastien.hillaire

[CL 19601993 by Charles deRousiers in ue5-main branch]
2022-04-02 14:31:01 -04:00
Charles deRousiers
61cf50b66f Change Strata binding buffer function args to take view instead of the explicit scene data.
#rb none
#jira none
#preflight 6246ee2a292f228e0914eed2
#fyi sebastien.hillaire

[CL 19586823 by Charles deRousiers in ue5-main branch]
2022-04-01 08:35:55 -04:00
Sebastien Hillaire
d28a031400 Strata - beginning of rough refraction of sub layers (with scene lighting split into untouched, sss and rough reffracted luminance)
- separate SSS, opaque rough refraction and scene color output when strata project setting is enabled.
- simple placeholder per pixel variance from roughness/layers computation
- SSS only reads from subsurface buffer when ORR is enabled
- Added simple combine pass to final scene lighting (no blur for now)
- Started adding tiling but reached UAV count limit. I will refactor code later to workaround that.
- Updated light rendering, reflection environment pixel shader. Next will be lumen and clustered deferred shading.

#preflight https://horde.devtools.epicgames.com/job/622fc09fe348fe2ada4214f8
#rb none
#fyi charles.derousiers, tiantian.xie

[CL 19382940 by Sebastien Hillaire in ue5-main branch]
2022-03-15 03:11:08 -04:00
tiantian xie
d362d0945a Fix black/flickering at borders for half resolution SSS due to bilinear filtering of uninitialized buffer.
#jira UE-143325
#preflight 621d1d069a5676d19a3bc1f2
#rb Juan.Canada
#lockdown Juan.Canada

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 19180224 in //UE5/Release-5.0/... via CL 19182467
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19204462 by tiantian xie in ue5-main branch]
2022-03-01 15:08:05 -05:00
Charles deRousiers
a02d41c4ee Renamed PROJECT_STRATA into STRATA_ENABLED.
This avoids to define STRATA_ENABLED as 'env. define' for all global shaders needing a Strata specific path.

#rb none
#jira none
#fyi sebastien.hillaire
#preflight 62151b25797dbbeb472ae2eb

[CL 19074999 by Charles deRousiers in ue5-main branch]
2022-02-22 12:35:58 -05:00
tiantian xie
0889157efa Fix the bug that half resolution SSS brokes the second view and makes it pale
#jira FORT-444123
#preflight 61f4015a6b5aea38e5b87141

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 18771077 in //UE5/Release-5.0/... via CL 18771098 via CL 18771274
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771281 by tiantian xie in ue5-main branch]
2022-01-28 10:14:49 -05:00
tiantian xie
319e7999ef Fix subsurface scattering alpha issue with alpha compositing on
#ushell-cherrypick of 18584689 by Tiantian.Xie

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 18586850 via CL 18586900 via CL 18587137 via CL 18587159 via CL 18587185
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18587209 by tiantian xie in ue5-main branch]
2022-01-12 13:41:35 -05:00
christopher waters
0b0457558b Moving RHIIsTypedUAVLoadSupported and RHIIsTypedUAVStoreSupported out of FDynamicRHI. New versions now use TextureFormat Capability flags.
#jira none
#rb mihnea.balta
#preflight 61ba46c8055f3013459a5b62

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18476758 in //UE5/Release-5.0/... via CL 18481366
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481459 by christopher waters in ue5-release-engine-test branch]
2021-12-16 19:29:23 -05:00
tiantian xie
5fdc9d45e1 Fix black border of SSS with alpha in movie render queue due to incorrect alpha writing.
#jira none
#rb none

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 18327357 in //UE5/Release-5.0/... via CL 18327428
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18327463 by tiantian xie in ue5-release-engine-test branch]
2021-11-30 13:08:19 -05:00
charles derousiers
078f5165f1 Move SS profiles and SS pre-intregrated profiles textures onto the view in order to make them accessible to all passes without extra manual binding.
#rb sebastien.hillaire, tiantian.xie, wei.liu
#jira none
#preflight 61a61f01f70a9e92dbe9e700

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

[CL 18323696 by charles derousiers in ue5-release-engine-test branch]
2021-11-30 08:27:29 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
tiantian xie
397158cfb6 Subsurface Scattering Engine flag changes the albedo
#jira UE-133510
#rb Juan.Canada

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 18223413 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)

[CL 18223467 by tiantian xie in ue5-release-engine-test branch]
2021-11-17 10:05:03 -05:00
tiantian xie
f97ab2884f [Major] Reduce SSS performance overhead when SSS only occupies a small region (e.g., from 0.7ms to 0.2ms).
1. Reduce unnecessary UAV Clear with property velocity projection. Only subpass one UAV is cleared conditionally when separable tiles are detected.
            2. Remove subsurface view copy and use tile based recombine.
            3. Mipmaps are generated only when there are many Burley tiles ( default r.SSS.Burley.MinGenerateMipsTileCount to 4000)
[Minor] Rename pass and texture names, and use proper descriptors.

#jira UE-131573
#rb jian.ru
#ushell-cherrypick of 17979880 by Tiantian.Xie
#preflight 617c0c6b5dbdbc00016ea885

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 17983475 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17983481 by tiantian xie in ue5-release-engine-test branch]
2021-10-29 12:53:33 -04:00
tiantian xie
9d860a038e Improve cinematic human skin rendering performance when filling most of the screens, and fix half resolutioin boundary flickering.
#jira UE-132026
#rb Krzysztof.Narkowicz
#preflight 61798fbe4d944500010ee4ff

#ushell-cherrypick of 17947828 by Tiantian.Xie

#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 17951326 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17951354 by tiantian xie in ue5-release-engine-test branch]
2021-10-27 16:39:57 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
tiantian xie
088f1c4c05 Subsurface scattering performance stability enhancement:
1. use control variates to deal with dynamic lighting change.
2. use bilinear filtered lighting as the control variable.

Performance boost up to 2.4x (3.22->1.34) during dynamic change for large SSS sudden appearance.

#rb Juan.Canada
#preflight 61232ccbcc11eb0001674a7b

#ROBOMERGE-SOURCE: CL 17265082 via CL 17273152
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17274280 by tiantian xie in ue5-release-engine-test branch]
2021-08-23 15:22:35 -04:00
zach bethel
5ec769f91e RDG Parallel Execution (disabled by default)
- Refactored RDG to support free-threaded execution of passes.
 - Refactored renderer to use specific RHI command list variants in pass lambda. Immediate command list passes are forced to stay on the render thread, while other variants can be parallelized.

#rb christopher.waters

#ROBOMERGE-SOURCE: CL 16838717 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16838724 by zach bethel in ue5-release-engine-test branch]
2021-07-13 12:38:37 -04:00
guillaume abadie
e8003c7a5a Renames Gen5TAA to Temporal Super Resolution
#rb graham.wihlidal
#jira UE-114288
#lockdown nick.whiting

#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 16116333 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf

[CL 16116611 by guillaume abadie in ue5-main branch]
2021-04-26 14:05:52 -04:00
Sebastien Hillaire
60d8f6fe85 Strata constant&UB binding functions now take the scene strata structure as input instead of view because the data is shared between view and sometimes it comes from scene when we do not have any views available.
#fyi charles.derousiers
#rb none

[CL 15862932 by Sebastien Hillaire in ue5-main branch]
2021-03-30 11:27:24 -04:00
Sebastien Hillaire
a48e812176 Strata on RDG. That has fixed some transition issues.
Next will be to have buffers also be RDG transient buffers (and that should fix the last transition issue).
Tested strata enabled and disabled with rhivalidation.

#rb none
#fyi charles.derousiers

[CL 15858691 by Sebastien Hillaire in ue5-main branch]
2021-03-30 02:33:35 -04:00
Guillaume Abadie
83e611fb99 Replaces SHADER_PARAMETER_RDG_BUFFER() with RDG_BUFFER_ACCESS() in remaining files
#rb none
#robomerge Release-5.0-EarlyAccess

[CL 15718983 by Guillaume Abadie in ue5-main branch]
2021-03-17 06:03:08 -04:00
Charles deRousiers
51949dfbe6 Remove Gbuffer access from SSS passes when Strata is used.
This CL hooks the FStrataSubsurfaceData to the SSS passes, so that no Gbuffer data are no longer needed.

Tested on preflight & EngineTests

#rb sebastien.hillaire

[CL 15452131 by Charles deRousiers in ue5-main branch]
2021-02-18 09:38:14 -04:00
Guillaume Abadie
30b9f0ba9b Automatically use r.SSS.Quality=1 recombine when using Gen5 TAA
#rb none

[CL 15364741 by Guillaume Abadie in ue5-main branch]
2021-02-09 06:30:16 -04:00
zach bethel
c6cb1e82be Deprecated and gutted FSceneRenderTargets. Moved all textures over to FSceneTextures. Refactored the renderer to use RDG textures from FSceneTextures instead.
#rb arne.schober, luke.thatcher, christopher.waters, kenzo.terelst

[CL 15040082 by zach bethel in ue5-main branch]
2021-01-11 14:49:16 -04:00
Charles deRousiers
a1b7c74c4f Add per-pixel subsurface support for Strata.
#rb sebastien.hillaire

[CL 14858030 by Charles deRousiers in ue5-main branch]
2020-12-04 15:46:10 -04:00