- Fix operand order of manual stencil test used when Nanite renders custom depth (reference value should be on the left hand side)
- Force compositing of a post-process material's output with the input when manual stencil test is enabled to fix corruption in discarded regions.
#rb brian.karis
#jira UE-192207
[CL 27263260 by jamie hayes in ue5-main branch]
- Coverage over the background can be override from the root node when AlphaCompiste blend mode is selected. If not plugged in, coverage of over brackground is off and regular blending is used.
- Decals only support translucent, composite and modulate. Normal is ignored when using CompositeAlpha (seen somewhere)
- Light functions can only be opaque so nothing to do in this case.
- UI domain tested with all blend mode
- Material attribute aslo tested
- Fixed many of issues with blend mode defines, being forced, etc.
#rb soon charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/64426db6641e2c3cb4fc7966
#fyi charles.derousiers
[CL 25143802 by Sebastien Hillaire in ue5-main branch]
- Add instance draw distance and global clip plane culling to GPU instance culling and VSM culling shaders to prevent VS invocations for invisible instances.
- Additional clean-up to GPU Scene data and culling code.
#rb ola.olsson
#preflight 640a5bf67e654e2e6543a98c
[CL 24584209 by jamie hayes in ue5-main branch]
Original CL Desc
-----------------------------------------------------------------
- Implement "WPO Disable Distance" for non-Nanite static meshes, and unify `FMaterialVertexParameters.bEvaluateWorldPositionOffset` for all vertex factories
- Add instance draw distance and global clip plane culling to GPU instance culling and VSM culling shaders to prevent VS invocations for invisible instances.
- Additional clean-up to GPU Scene data and culling code.
#rb ola.olsson
#preflight 6407c662ba12ba6416b8245b
[CL 24581209 by jamie hayes in ue5-main branch]
- Add instance draw distance and global clip plane culling to GPU instance culling and VSM culling shaders to prevent VS invocations for invisible instances.
- Additional clean-up to GPU Scene data and culling code.
#rb ola.olsson
#preflight 6407c662ba12ba6416b8245b
[CL 24579289 by jamie hayes in ue5-main branch]
1. Postprocess can access path tracing buffers (raw/denoised radiance, albedo, normal, variance) with unique material node `PathTracingBufferTexture`.
2. Output in MRQ is also supported.
#jira UE-175664
#rb chris.kulla
#preflight 63fc2a98dd78dd50f655431d
[CL 24419817 by Tiantian Xie in ue5-main branch]
[Backout] - CL23530212
[FYI] jamie.hayes
Original CL Desc
-----------------------------------------------------------------
Add ability to render Nanite in the Custom Depth Stencil pass.
#rb brian.karis
#jira UE-158882, FORT-543341
#preflight 639a0b3d776b61ba3babb355
[CL 23536627 by bob tellez in ue5-main branch]
Cleanup sub-pass features usage in mobile shaders
#jira none
#rb wei.liu
#preflight 6357b44736767b3e1e59e0e7
[CL 22748504 by Dmitriy Dyomin in ue5-main branch]
2. Supports CustomDepth in translucency pass on mobile LDR.
#jira none
#rb Dmitriy.Dyomin
#preflight 62be9894d94b57687c68aed1
[CL 20911586 by Wei Liu 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]
- Completely changed the way we evaluate and represent the material topology.
- A topology is now represented as a tree to allow any horizontal/vertical operations (almost like a kdtree).
- This allows for correct translucent material coverage/transmittance evaluation, as well as correct BSDFs luminance weight (finally).
- All the operations to be able to do that are expended in HLSLTranslator instead of letting the compiler handle it (otherwise was too slow, leading to bugs and could not even debug shaders). This means no conditional BSDF packing.
- There is no more Material/layer/BSDFs array: only a Tree or operators, some of them being BSDF at leaves.
- Parameter blending has also been updated: when enabled on a node, it will be forced on all the oprator child / in the sub tree.
- Parameter blending is applied on an inlinedbsdf on the StrataData. When it is the root of the parameter blending subtree, it is promoted to a fully fledged BSDF operator node to allow other regular operators.
- The inlinedbsdf is not longer in premultiplied mode. Horizontal/Vertical/Add parameter blending operators have been updated to reflect that. This allows for simpler/unified/clearer code.
- Vertical blending now uses the new simple "layering of two slabs with uncorelated coverage" math I have RnD'd. See GetVerticalLayeringInfo in ShadingCommon.ush.
Follow up to this CL:
- CompileStrataBlendFunction should use parameter blending.
- Add more compilation debug output
- Update material vizualisation
- Fix Rough refraction
- Fix decals
- Fix debug probes
- Pack FStrataBSDF
- Move all StrataCompilationInfoCreateSingleBSDFMaterial into into the strata tree and rework cost evaluation and material LOD
- Expand graph visit such as UpdateBSDFWeightAfterOperatorVisit to be specific to operators for the compiler to have to do less search to inline what we know already
- Fix STRATA_TODO: operation using parameter blending are not actually discarded so they still occupy a pot in the opeartion arrays in the compiler and in the shader also.
#rb charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/620a5f5d803d9066e67de938
#fyi charles.derousiers
[CL 18993400 by Sebastien Hillaire in ue5-main branch]