Commit Graph

150 Commits

Author SHA1 Message Date
christopher waters
8d2ed4a040 Moving EPixelFormatCapabilities to PixelFormat.h to live with FPixelFormatInfo.
Adding UE::PixelFormat::HasCapabilities to replace RHIPixelFormatHasCapabilities and friends.

#jira none
#rb elizabeth.baumel, charles.bloom
#preflight 6351928c9e14ee3c7941510d

[CL 22666541 by christopher waters in ue5-main branch]
2022-10-20 15:15:15 -04:00
marc audy
6ea1f07195 * Move SSS transmission code into a single place (merge duplicate between PCF & VSM)
* Add shadow/transmission blurring on SSS surfae with VSM to reduce hard-shadow (directional light only for now).
 * Change SubSurfaceModel to have extinction-like color-shifting.

#rb andrew.lauritzen
#preflight 63409395090af7205c2240b2
[CODEREVIEW] sebastien.hillaire, wei.liu, chares.derousiers

[CL 22424955 by marc audy in ue5-main branch]
2022-10-09 23:35:48 -04:00
bryan sefcik
07894f4a07 Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631a717cec45fbf3d74d4ba7

[CL 21916033 by bryan sefcik in ue5-main branch]
2022-09-09 00:53:22 -04:00
christopher waters
e9a48d6897 Removing more uses of GMaxRHIFeatureLevel.
Focus started on GenerateMips and AddClearUAVPass.

#jira none
#rb mihnea.balta
#preflight 62fe768d200ff87e07c5e1ad

[CL 21448320 by christopher waters in ue5-main branch]
2022-08-18 15:29:29 -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
tiantian xie
869d7abbcb Add CVar to fix subsurface border artifact when checkerboard is turned on. It is off by default due to performance concern, 1 extra profile id access per pixel at low quality (TAA mode by default), 4 extra profile id access per pixel at high quality.
Set `r.SSS.Checkerboard.NeighborSSSValidation 1` to turn it on to have a clear border.

#preflight 62b076011c62a6555a84fe34
#rb sebastien.hillaire, kevin.ortegren
#ushell-cherrypick of 20186575 by Tiantian.Xie
#preflight 62b095182405b4ac9e5128ae

#ROBOMERGE-OWNER: tiantian.xie
#ROBOMERGE-AUTHOR: tiantian.xie
#ROBOMERGE-SOURCE: CL 20740138 via CL 20740214 via CL 20740283 via CL 20740853 via CL 20740871
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20742741 by tiantian xie in ue5-main branch]
2022-06-20 15:33:15 -04:00
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