This CL adds
* Forward shading support (deferred support will be added later on)
* Slab/Eye/Hair/SLW support
* Directional/Local/Env/Planar lighting
There are a couple of followup to the initial CL:
* Fix incorrect env. specular contribution which is too low to what is supposed to be
* Add SH lighting support
* Merge StrataForwardLighting and StrataMobileFowardLighting if possible as there are a lot of overlap
#rb sebastien.hillaire, wei.liu, dmitriy.dyomin
#jira none
#preflight 6377b4ff3377450900751434
[CL 23218346 by Charles deRousiers in ue5-main branch]
This summarize most of Strata settings into a single place for quite debugging.
This is mapped onto r.Strata.ViewMode 7
#rb none
#jira none
#preflight 635a87b1f1493f9786606cf9
#fyi sebastien.hillaire
[CL 22809090 by Charles deRousiers in ue5-main branch]
- Split the Nanite shading pass up into two when outputting velocity during the depth pre-pass: Non-WPO & WPO.
- Add the ability to use an alternate GBuffer layout for given materials to satisfy the output bindings required by the new second Nanite shading pass.
#rb graham.wihlidal, jason.nadro
#jira UE-164554
[CL 22581659 by jamie hayes in ue5-main branch]
This CL remove SceneColor from ESRAM without noticeable perf impact.
Other perf differences:
* No impact on base pass cost
* Classification 0.373 -> 0.240
* DBufferPass 0.510 -> 0.420
#rb none
#jira none
#preflight 632ac7bfa236a029de179da0
#fyi sebastien.hillaire
[CL 22109121 by Charles deRousiers in ue5-main branch]
This makes the dbuffer pass 0.05ms faster, but the makes the classification slower by 0.1ms. So no win for now, but further optimization are coming. Disabled for now.
#rb none
#jira none
#preflight 632979ec9840225da24fc245
#fyi sebastien.hillaire
[CL 22091302 by Charles deRousiers in ue5-main branch]
This CL uses stentil buffer bit to mark the material decal responsness, which is later use during the DBuffer pass to blend decals material data.
#rb none
#jira none
#preflight 632493d3ea1c94f4c5c7785a
#fyi sebastien.hillaire
[CL 22050151 by Charles deRousiers in ue5-main branch]
The post base-pass dbuffer blending only works for simple and single materials. Complex material are still apply during the base pass. This pass is disabled by default, and will be enabled only per-platform. Following needs to happen making unpacking/packing modulare and reusable.
On lower-platform this allows to reduce significatly the cost of base pass (BasePass:-1.2ms DBufferPass+0.4ms = -0.8ms net), as the compiler can better prune code, and allows to increase occupancy.
#rb none
#jira none
#preflight 6324633b74361465145e0f75
#fyi sebastien.hillaire
[CL 22048223 by Charles deRousiers in ue5-main branch]
This saves memory bandwidth during classification
#rb none
#jira none
#preflight 631781df2b7fe03eb6442427
#fyi sebastien.hillaire
[CL 21824572 by Charles deRousiers in ue5-main branch]
Fixed a bug wehre loadiung fast material would not be done correctly inside the classification pass for the sharedmemeory path.
#rb none
#jira UE-161415
#preflight https://horde.devtools.epicgames.com/job/630909b9987e7155b1af0aec
#fyi charles.derousiers
[CL 21661992 by Sebastien Hillaire in ue5-main branch]
* Chang Xbox/PS4 to use approximate Vis function.
#rb none
#jira none
#preflight 6305f86dc00af5e2945cb293
#fyi sebastien.hillaire
[CL 21538424 by Charles deRousiers in ue5-main branch]