Adds UncontrolledChangelistValidator, reconciling writable assets, warning the user if new uncontrolled changes are found during changelist validation
#rb Sebastien.Lussier
#preflight 60d0965a367e6700013a0083
#changelist validated
[CL 16728469 by luc eygasier in ue5-main branch]
This is necessary to support building textures independently of the UTexture, which is required by the new derived data build interface.
#rb Zousar.Shaker
#rnx
#preflight 60cbbb906092ba000158179a
[CL 16714489 by Devin Doucette in ue5-main branch]
Add ray tracing shader types
Add initial ray tracing pipeline creation
Add acceleration structure descriptor type
Add basic ray tracing pipeline, occlusion support initially
Strip reflection from ray tracing shader spirv to deal with validation warnings
Don't use an array of vk descriptor types directly, this breaks with non-contiguous enum values which are common in extensions. Using a TMap from descriptor type to values instead.
Don't store vk types in the serialized shader header, translate to and from our own internal enum types to avoid similar non-contiguous value issues.
Re-enabled ray tracing compilation on windows desktop, explicitly disable runtime support using GRHISupportsRayTracing
Todo:
We need to deal with the lack of a 1:1 mapping between shader stages and frequencies for ray tracing hit groups. This is a one to many mapping which doesn't work with how most of the Vulkan RHI is authored. For now I'm assuming a hitgroup maps to a CHS.
Ray tracing shader descriptor allocation and pending state support. While we are serializing the descriptors for ray tracing shaders, we're not allocating or updating them yet which is the last large chunk needed to trace rays.
Fix spirv binary version mismatch validation error. This basically needs a local dxc modification which explicitly sets the spirv binary version to work around incorrect assuptions in dxc which is causing validation failures.
Add another local dxc modification to allow for arbirary struct size support using VK_EXT_scalar_block_layout for ray tracing shaders.
#rb jeannoe.morissette, lukas.hermanns
[CL 16711940 by Ryan Vance in ue5-main branch]
#feature add ability to only apply out-of-date animation modifiers from asset context menu, and through details view on AnimationModifier classes
#fix ensure that we do not apply pending kill modifiers or instances that are used for reverting
#jira UE-84819
#rb Thomas.Sarkanen
#preflight 60cb38fd6092ba000140842e
[CL 16704034 by Jurre deBaare in ue5-main branch]
#fix ensure when updating/removing tracks with invalid bone tree index also broadcast notify for track changed when bone index is updated in addition to removing bone tracks. This will force a resample of the source data - ensuring that bone indices are valid when compressing
#jira UE-116493
#preflight 60cb3886634cd100015fe2c1
[CL 16703680 by Jurre deBaare in ue5-main branch]
Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs
Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant.
Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it.
Functions are displayed on the node if bound, and in the details panel.
Added a new override point to FAnimSubsystemInstance to allow for WT init.
Moved FMemberReference customization into a public header so it can be used on anim node functions.
Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them.
Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly).
Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code.
A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation).
Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied
#rb Jurre.deBaare,Aaron.Cox
[CL 16703644 by Thomas Sarkanen in ue5-main branch]
Add the ability to enable auto compile when adding new C++ classes.
Fixed user feedback issues when adding new C++ classes.
#rb joe.kirchoff
#rnx
#jira UE-116958
#preflight 60cb2e884ce02c0001d278c1
[CL 16703582 by Tim Smith in ue5-main branch]
Also added support for local variables in binding.
+ React to removing local variable
+ React to renaming local variable
+ React to changing local variable type
#rb sara.schvartzman
#jira UE-101980
[CL 16703406 by Helge Mathee in ue5-main branch]