Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Render::SkinnedMeshFeatureProcessorInterface Class Referenceabstract

SkinnedMeshFeatureProcessorInterface provides an interface to acquire and release a SkinnedMeshRenderProxy from the underlying SkinnedMeshFeatureProcessor. More...

#include <SkinnedMeshFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Inherited by AZ::Render::SkinnedMeshFeatureProcessor.

Classes

struct  SkinnedMeshHandleDescriptor
 

Public Types

using SkinnedMeshHandle = StableDynamicArrayHandle< SkinnedMeshRenderProxy >
 

Public Member Functions

 AZ_RTTI (AZ::Render::SkinnedMeshFeatureProcessorInterface, "{6BE6D9D7-FFD7-4C35-9A84-4EFDE730F06B}", AZ::RPI::FeatureProcessor)
 
virtual SkinnedMeshHandle AcquireSkinnedMesh (const SkinnedMeshHandleDescriptor &desc)=0
 Given a descriptor of the input and output for skinning, acquire a handle to the instance that will be skinned.
 
virtual bool ReleaseSkinnedMesh (SkinnedMeshHandle &handle)=0
 Releases the skinned mesh handle.
 
virtual void SetSkinningMatrices (const SkinnedMeshHandle &handle, const AZStd::vector< float > &data)=0
 Updates the data for the skinning transforms of a given skinned mesh handle.
 
virtual void SetMorphTargetWeights (const SkinnedMeshHandle &handle, uint32_t lodIndex, const AZStd::vector< float > &weights)=0
 
virtual void EnableSkinning (const SkinnedMeshHandle &handle, uint32_t lodIndex, uint32_t meshIndex)=0
 Enable skinning for a given mesh and lod of a skinned mesh handle.
 
virtual void DisableSkinning (const SkinnedMeshHandle &handle, uint32_t lodIndex, uint32_t meshIndex)=0
 Disable skinning for a given mesh and lod of a skinned mesh handle.
 
- Public Member Functions inherited from AZ::RPI::FeatureProcessor
 AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}")
 
 AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator)
 
SceneGetParentScene () const
 
virtual void Activate ()
 Perform any necessary activation and gives access to owning Scene.
 
virtual void Deactivate ()
 Perform any necessary deactivation.
 
virtual void ApplyRenderPipelineChange (RenderPipeline *pipeline)
 
virtual void AddRenderPasses (RenderPipeline *pipeline)
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr > > &)
 
virtual void Simulate (const SimulatePacket &)
 
virtual void Render (const RenderPacket &)
 
virtual void OnEndCulling (const RenderPacket &)
 
virtual void OnRenderEnd ()
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Detailed Description

SkinnedMeshFeatureProcessorInterface provides an interface to acquire and release a SkinnedMeshRenderProxy from the underlying SkinnedMeshFeatureProcessor.

Member Function Documentation

◆ AcquireSkinnedMesh()

virtual SkinnedMeshHandle AZ::Render::SkinnedMeshFeatureProcessorInterface::AcquireSkinnedMesh ( const SkinnedMeshHandleDescriptor desc)
pure virtual

Given a descriptor of the input and output for skinning, acquire a handle to the instance that will be skinned.

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.

◆ DisableSkinning()

virtual void AZ::Render::SkinnedMeshFeatureProcessorInterface::DisableSkinning ( const SkinnedMeshHandle handle,
uint32_t  lodIndex,
uint32_t  meshIndex 
)
pure virtual

Disable skinning for a given mesh and lod of a skinned mesh handle.

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.

◆ EnableSkinning()

virtual void AZ::Render::SkinnedMeshFeatureProcessorInterface::EnableSkinning ( const SkinnedMeshHandle handle,
uint32_t  lodIndex,
uint32_t  meshIndex 
)
pure virtual

Enable skinning for a given mesh and lod of a skinned mesh handle.

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.

◆ ReleaseSkinnedMesh()

virtual bool AZ::Render::SkinnedMeshFeatureProcessorInterface::ReleaseSkinnedMesh ( SkinnedMeshHandle handle)
pure virtual

Releases the skinned mesh handle.

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.

◆ SetMorphTargetWeights()

virtual void AZ::Render::SkinnedMeshFeatureProcessorInterface::SetMorphTargetWeights ( const SkinnedMeshHandle handle,
uint32_t  lodIndex,
const AZStd::vector< float > &  weights 
)
pure virtual

Updates the morph target weights for all meshes of a given lod of a skinned mesh handle The weights should be in the order that the morph targets were initially added to the SkinnedMeshInputBuffers for the handle

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.

◆ SetSkinningMatrices()

virtual void AZ::Render::SkinnedMeshFeatureProcessorInterface::SetSkinningMatrices ( const SkinnedMeshHandle handle,
const AZStd::vector< float > &  data 
)
pure virtual

Updates the data for the skinning transforms of a given skinned mesh handle.

Implemented in AZ::Render::SkinnedMeshFeatureProcessor.


The documentation for this class was generated from the following file: