This is the initial version for supporting wrap lighting with Strata, allowing to convert legacy subsurface surface into Strata. This initial version is not fully correct (energy perservation is not correct due to non-normalized phase function, which needs to be revisited).
#rb none
#jira none
#fyi sebastien.hillaire
#preflight shaders
[CL 20345473 by Charles deRousiers in ue5-main branch]
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]
- 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]
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]
#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]
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]
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]
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]