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

Stores skin and skeleton binding data keyed by source mesh path. More...

#include <SkinAsset.h>

Inheritance diagram for Engine::Assets::SkinAssetManager:
Collaboration diagram for Engine::Assets::SkinAssetManager:

Public Member Functions

 SkinAssetManager ()=default
 Creates an empty skin asset manager.
Public Member Functions inherited from Asset::AssetManager< Asset::MeshPath, Skin >
 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, Skin *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< Skin > 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< Skin * > 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, Skin >
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

Stores skin and skeleton binding data keyed by source mesh path.

Skin data is imported from model files and used by skinned meshes to map vertices to skeleton joints. The manager owns loaded skin payloads and tracks their loading state through stable asset refs.

Definition at line 92 of file SkinAsset.h.

Constructor & Destructor Documentation

◆ SkinAssetManager()

Engine::Assets::SkinAssetManager::SkinAssetManager ( )
default

Creates an empty skin asset manager.


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