Optimus: Fix up data interfaces for new binding pardigm. Deformer creates one mesh component binding for all its data interfaces. This can be modified later to register mutliple bindings.
#preflight 627ad0571e749933433ceebe
#fyi halfdan.ingvarsson
[CL 20129715 by Jeremy Moore in ue5-main branch]
PR #9132: Fix: Typo in ComputeFramework Plugin (Contributed by freezernick)
#rnx
#preflight 6269c70a4114e1869ccbce1f
[CL 19949877 by freezernick in ue5-main branch]
Made data interface parameter naming more flexible so that things look cleaner in RenderDoc.
This change meant that we need to track name string allocations correctly. Added an allocation container for this and also use it for shader param metadata nested structs which were leaking before.
#preflight 6254a7125906374e73e9d698
#rnx
[CL 19712875 by Jeremy Moore in ue5-main branch]
Added concept of execution data interface which can provide the invocation count and full 3D thread count per invocation.
Each kernel requires one and only one execution data interface.
Optimus: Implemented SkinnedMesh execution data interface which can dispatch per vertex or per triangle according to settings. Will next add some simple maths on that to allow n threads per vert or n verts per thread etc.
#fyi halfdan.ingvarsson
#preflight 6244e92a3a5a4c1622c831a7
[CL 19567014 by Jeremy Moore in ue5-main branch]
Add variables on the graph instance so taht they can be set per instance from blueprint.
Push graph constant changes directly to data provider for visual update without graph compilation.
#fyi halfdan.ingvarsson
#rnx
#preflight 62163a54c152c67496d4888a
[CL 19090009 by Jeremy Moore in ue5-main branch]
Optimus: Implementation of full permutations for bones/morph targets/cloth.
#preflight 620d7a7c7948a1e5e4c18936
#fyi halfdan.ingvarsson
[CL 19024868 by Jeremy Moore in ue5-main branch]
ComputeFramework: First pass for kernel permutation support.
Multiple shaders built and correct permutation selected.
Optimus: implementation of some basic permutations. But still needs to select permutation based on skinned mesh setup.
#preflight 620c3fe587771cd5d8efabb4
[CL 19008314 by Jeremy Moore in ue5-main branch]
#preflight 61eac3dfc12be595d17a071e
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18689215 in //UE5/Release-5.0/... via CL 18689237 via CL 18689270
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18689354 by jeremy moore in ue5-main branch]
ComputeFramework: Refactor ComputeGraphComponent to separate out logic for other components that may want to queue work
Optimus: Implement UMeshDeformer interface to allow directly applying deformer graphs to skinned mesh.
This temporarily adds an indirection asset to point at a OptimusDeformer asset when binding to a skinned mesh.
Soon the functionality will be combined, so that the indirection asset will no longer be needed.
Implement SkinnedMeshWrite data interface to support deformers that don't use skin cache.
Removed SkinCacheWrite data interface.
Removed ComputeGraphComponent Broker.
MLDeformer: Use UOptimusMeshDeformer interface to apply deformers in edit view.
#prefilght 61b173025c61dba07b0dd491
[FYI] halfdan.ingvarsson
[FYI] john.vanderburg
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18419060 in //UE5/Release-5.0/... via CL 18419073
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18419083 by jeremy moore in ue5-release-engine-test branch]