Diligent Engine
Loading...
Searching...
No Matches
Diligent::IRadientAnimationClipAsset Struct Referenceabstract

#include <RadientAnimation.h>

Inheritance diagram for Diligent::IRadientAnimationClipAsset:
Diligent::IRadientAsset Diligent.IObject

Public Member Functions

virtual const RadientAnimationClipDesc &DILIGENT_CALL_TYPE GetDesc () const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE CreateBinding (const RadientAnimationBindingDesc &BindingDesc, IRadientAnimationBinding **ppBinding)=0
Public Member Functions inherited from Diligent::IRadientAsset
virtual const RadientAssetReference &DILIGENT_CALL_TYPE GetReference () const =0
 Returns the asset reference identity.
virtual RADIENT_ASSET_TYPE DILIGENT_CALL_TYPE GetType () const =0
 Returns the concrete asset type.
Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
template<typename DerivedType, typename = typename std::enable_if<std::is_base_of<IObject, DerivedType>::value>::type>
void QueryInterface (const INTERFACE_ID &IID, DerivedType **ppInterface)
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0

Detailed Description

Immutable, unbound collection of typed animation channels.

The asset owns clip data but does not retain or address a scene. A binding step resolves each (Schema, Object) pair for a particular runtime instance and may compile the channels into optimized destination-specific batches.

Member Function Documentation

◆ CreateBinding()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAnimationClipAsset::CreateBinding ( const RadientAnimationBindingDesc & BindingDesc,
IRadientAnimationBinding ** ppBinding )
pure virtual

Compiles BindingDesc against this clip. The method invokes the destination's CreateBinding() once for each destination descriptor and omits destinations that return RADIENT_STATUS_UNSUPPORTED. On success, ppBinding receives a strong reference to a binding that retains this clip and every nonempty compiled destination binding. The caller retains ownership of BindingDesc and its arrays. ppBinding must not be null and *ppBinding must be null. On failure, *ppBinding remains null and every destination binding created earlier in the operation is released.

Returns
RADIENT_STATUS_OK when the binding was compiled, RADIENT_STATUS_INVALID_ARGUMENT when the descriptor or output pointer is invalid, or a destination failure other than RADIENT_STATUS_UNSUPPORTED.

◆ GetDesc()

virtual const RadientAnimationClipDesc &DILIGENT_CALL_TYPE Diligent::IRadientAnimationClipAsset::GetDesc ( ) const
pure virtual

Returns the immutable clip description. The reference and all data it references remain valid for the lifetime of the clip asset.