Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Assets::MaterialAssetManager Class Reference

Asset manager for materials keyed by source file path and material name. More...

#include <MaterialAsset.h>

Inheritance diagram for Engine::Assets::MaterialAssetManager:
Collaboration diagram for Engine::Assets::MaterialAssetManager:

Public Member Functions

 MaterialAssetManager ()=default
 Creates an empty material asset manager.
Public Member Functions inherited from Asset::AssetManager< Asset::MeshPath, Material >
 AssetManager ()=default
 Creates an empty asset manager.
virtual ~AssetManager ()=default
 Destroys the manager object.
void declare (Asset::MeshPath path, Args &&... args)
 Adds an asset to the list in its unloaded state.
void add (Asset::MeshPath path, Material *asset)
 Adds or overwrites a previously declared asset at a key.
RefType getOrCreateRef (const Asset::MeshPath &path)
 Gets a stable asset reference, creating a record if necessary.
RefType getRef (const Asset::MeshPath &path) const
 Gets a stable asset reference if a record exists, otherwise an expired ref.
void setAssetLoadingState (const Asset::MeshPath &path, LoadState state)
 Sets the record loading state without requiring a payload object.
void resolve (const Asset::MeshPath &path, std::unique_ptr< Material > asset)
 Stores a loaded payload and resolves the record's ready future.
void fail (const Asset::MeshPath &path, std::string error)
 Marks the record as failed and resolves the ready future with an error.
void unloadAssetPayload (const Asset::MeshPath &path)
 Drops the loaded payload while preserving the stable record.
bool exists (Asset::MeshPath path)
 Checks if an asset already exists. This means it is declared and there is content.
bool isDeclared (Asset::MeshPath path)
 Checks if an asset has been declared. If it exists it is also declared.
CpuLoadingState getAssetLoadingState (const Asset::MeshPath &path)
 Gets a loading state for an asset. If the asset is not yet declared it will return that it is UNLOADED.
std::optional< Material * > getAsset (const Asset::MeshPath &path)
 Try's to get an asset. If the asset does not exist (can be checked with exists) it will return a std::nullopt.
virtual void clear ()
 Clears out all resources.
void forEachAsset (Func &&func) const
 Iterates over all assets and calls the provided callback for each.

Additional Inherited Members

Public Types inherited from Asset::AssetManager< Asset::MeshPath, Material >
using RefType
 Stable reference type returned by this manager.
using RecordType
 Internal record type stored by this manager.
using ResultType
 Completion result type for async loads.

Detailed Description

Asset manager for materials keyed by source file path and material name.

Definition at line 202 of file MaterialAsset.h.

Constructor & Destructor Documentation

◆ MaterialAssetManager()

Engine::Assets::MaterialAssetManager::MaterialAssetManager ( )
default

Creates an empty material asset manager.


The documentation for this class was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Material/MaterialAsset.h