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

Immutable material definition asset and parameter schema. More...

#include <RadientMaterials.h>

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

Public Member Functions

virtual const RadientMaterialDefinitionDesc &DILIGENT_CALL_TYPE GetDesc () const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetStatus () const =0
virtual Uint32 DILIGENT_CALL_TYPE GetParameterCount () const =0
 Returns the number of parameters in the definition.
virtual const RadientMaterialParameterDesc &DILIGENT_CALL_TYPE GetParameterDesc (Uint32 Index) const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE GetParameterHandle (Uint32 Index, RadientMaterialParameterHandle *pHandle) const =0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE FindParameter (const Char *Name, RadientMaterialParameterHandle *pHandle) const =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 material definition asset and parameter schema.

Member Function Documentation

◆ FindParameter()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientMaterialDefinitionAsset::FindParameter ( const Char * Name,
RadientMaterialParameterHandle * pHandle ) const
pure virtual

Resolves an exact, case-sensitive parameter name to a definition-specific runtime handle. On failure, pHandle is set to an invalid handle.

◆ GetDesc()

virtual const RadientMaterialDefinitionDesc &DILIGENT_CALL_TYPE Diligent::IRadientMaterialDefinitionAsset::GetDesc ( ) const
pure virtual

Returns the immutable definition description. The reference remains valid for the lifetime of the definition. Its Type identifies the concrete description type to which the returned reference may be cast.

◆ GetParameterDesc()

virtual const RadientMaterialParameterDesc &DILIGENT_CALL_TYPE Diligent::IRadientMaterialDefinitionAsset::GetParameterDesc ( Uint32 Index) const
pure virtual

Returns the metadata for the parameter at Index. The reference remains valid for the lifetime of the definition. Index must be less than GetParameterCount().

◆ GetParameterHandle()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientMaterialDefinitionAsset::GetParameterHandle ( Uint32 Index,
RadientMaterialParameterHandle * pHandle ) const
pure virtual

Resolves a zero-based parameter index to a definition-specific runtime handle. On failure, pHandle is set to an invalid handle.

◆ GetStatus()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientMaterialDefinitionAsset::GetStatus ( ) const
pure virtual

Returns the definition loading status. Generic definitions created from in-memory metadata are immediately ready.