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

Creates asset references from authored or procedural data. More...

#include <RadientAssets.h>

Inheritance diagram for Diligent::IRadientAssetManager:
Diligent.IObject

Public Member Functions

virtual const RadientAssetManagerDesc &DILIGENT_CALL_TYPE GetDesc () const =0
 Returns the asset manager description.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE CreateMesh (const RadientMeshCreateInfo &MeshCI, IRadientMeshAsset **ppMesh)=0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE CreateMaterial (const RadientMaterialCreateInfo &MaterialCI, IRadientMaterialAsset **ppMaterial)=0
 Creates a material asset.
virtual RADIENT_STATUS DILIGENT_CALL_TYPE LoadTexture (const RadientTextureLoadInfo &LoadInfo, IRadientTextureAsset **ppTexture)=0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE LoadScene (const RadientSceneLoadInfo &LoadInfo, IRadientSceneAsset **ppScene)=0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE WaitForAssetLoad (IRadientAsset *pAsset)=0
virtual RADIENT_STATUS DILIGENT_CALL_TYPE Stop (IDeviceContext *pContext)=0
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

Creates asset references from authored or procedural data.

Member Function Documentation

◆ CreateMesh()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAssetManager::CreateMesh ( const RadientMeshCreateInfo & MeshCI,
IRadientMeshAsset ** ppMesh )
pure virtual

Creates a mesh asset from CPU-side primitive data.

The returned status reports asset payload creation and source-data processing. A successful status does not guarantee that all GPU upload work has completed.

◆ LoadScene()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAssetManager::LoadScene ( const RadientSceneLoadInfo & LoadInfo,
IRadientSceneAsset ** ppScene )
pure virtual

Starts loading an authored scene asset from a URI.

The returned status reports scene loading and GPU upload scheduling. A successful status does not guarantee that all GPU resources referenced by the scene are ready. Returns RADIENT_STATUS_PENDING when loading continues asynchronously.

◆ LoadTexture()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAssetManager::LoadTexture ( const RadientTextureLoadInfo & LoadInfo,
IRadientTextureAsset ** ppTexture )
pure virtual

Starts loading a texture asset from a URI or texture data.

The returned status reports source loading and GPU upload scheduling. A successful status does not guarantee that the texture is already available for sampling. Returns RADIENT_STATUS_PENDING when loading continues asynchronously. If LoadInfo.ReleaseData is non-null and input validation accepts a memory-backed source, ownership transfers to Radient before this method returns. The callback will be invoked exactly once even if this method returns a non-INVALID_ARGUMENT failure caused by a later admission or loading step.

◆ Stop()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAssetManager::Stop ( IDeviceContext * pContext)
pure virtual

Permanently stops the asset manager's internal GPU upload work.

The method must be called before destroying a GPU-backed asset manager. pContext must be the device context used by the renderer/update path and must not be used concurrently while Stop() is executing.

◆ WaitForAssetLoad()

virtual RADIENT_STATUS DILIGENT_CALL_TYPE Diligent::IRadientAssetManager::WaitForAssetLoad ( IRadientAsset * pAsset)
pure virtual

Blocks the calling thread until asset payload loading and GPU upload scheduling have completed.

This does not wait for the render thread to execute queued GPU upload callbacks. Resource-specific accessors may still report that GPU resources are not ready after this method returns RADIENT_STATUS_OK. This is intended for tests and explicit synchronization points only; normal rendering/import code should avoid it.