[FYI] massimo.tristano
Original CL Desc
-----------------------------------------------------------------
Optimizations in Material translation code amounting to 50% speed up.
Optimized function UMaterialExpression::GetInputs() with highest exclusive run-time during material translation from 19.79% to 1.79% exclusive run time.
This change caches the inputs upon expression creation by default and return a TArrayView instead of always creating a new transient dynamic array. The optimization also simplifies code for some Expression types.
Also optimized ContainsInputLoopInternal() to use a linked list of stack allocated nodes instead of Pushing/Popping from a dynamic array.
#rb jason.nadro
#preflight 64776ef44a277ca8f0b9a538
[CL 25722294 by massimo tristano in ue5-main branch]
Optimized function UMaterialExpression::GetInputs() with highest exclusive run-time during material translation from 19.79% to 1.79% exclusive run time.
This change caches the inputs upon expression creation by default and return a TArrayView instead of always creating a new transient dynamic array. The optimization also simplifies code for some Expression types.
Also optimized ContainsInputLoopInternal() to use a linked list of stack allocated nodes instead of Pushing/Popping from a dynamic array.
#rb jason.nadro
#preflight 64776ef44a277ca8f0b9a538
[CL 25722174 by massimo tristano in ue5-main branch]
This allows artist to provide a custom LUT describing specular behavior for view and light angles. The LUT can be procedurally generated or provided from a texture.
#rb sebastien.hillaire
#jira none
#preflight 646b6b392c0a5da0dcc8a2ab
[CL 25564387 by Charles deRousiers in ue5-main branch]
In restrictive mode, material instances could not inherit from a cooked material not in base modules. Now material instances can inherit from such restricted materials as long as they do not introduce a new static parameters permutation and thus a new shader. To prevent this, the UI disables the checkboxes that would trigger a new shader to be created (full validation is still performed at cook time, so even if a user manages to create a material instance with a static permutation, this would be rejected by the content worker).
[REVIEW] josie.yang
#preflight 6464e5a22d446eac96ca83a6
[CL 25511566 by massimo tristano in ue5-main branch]
Fix a crash in some asset editors when you force deleted an asset with pending changes and hit "cancel" on the save dialog
#jira UE-107248
#preflight 64517c880e33f2d51d6e3adb
[CL 25321878 by aditya ravichandran in ue5-main branch]
- deleted details output from message log
- material in Substrate HUD no display details
- Simplification button is next to the tick box.
- !! not using bitfield which seems to cause some weird bit shift sometimes. Reported !!
#rb none
#preflight https://horde.devtools.epicgames.com/job/644a18a80f12404fb7507280
#fyi dan.elksnitis, charles.derousiers
[CL 25211397 by Sebastien Hillaire 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]