4#include "Engine/Ecs/TextureAssetPipeline.h"
5#include "Engine/Ecs/ModelAssetPipeline.h"
6#include "Engine/Ecs/AudioAssetPipeline.h"
16 class ModelAssetManager;
24 class RenderingDataManager;
55 Assets::ModelAssetManager * modelAssetManager,
59 NamedThreadPool * assetLoaderPool,
73 void tick(
bool async =
true);
Stores animation clips keyed by their source mesh path.
Manages audio assets by filesystem path, providing dedup and lookup.
Asset manager for materials keyed by source file path and material name.
Stores mesh data with their primitives.
Stores skin and skeleton binding data keyed by source mesh path.
Asset manager for texture assets keyed by filesystem path.
Coordinates engine asset loading pipelines and runtime texture descriptor ownership.
void submitAsset(const std::filesystem::path &asset)
Submit a path to an asset for loading, dispatched to the correct sub-pipeline by extension.
ModelAssetPipeline modelPipeline_
ModelAssetPipeline & getModelAssetPipeline()
Gets the glTF model loading sub-pipeline.
void tick(bool async=true)
Advances all sub-pipelines in dependency order (texture, model, audio).
AudioAssetPipeline audioPipeline_
TextureAssetPipeline texturePipeline_
void discardPendingWork()
Clears all queued and in-flight loading work in every sub-pipeline.
void setRenderingDataManager(Core::RenderingDataManager *renderingDataManager)
Wires the RenderingDataManager into the sub-pipelines and links the model pipeline to this master for...
AudioAssetPipeline & getAudioAssetPipeline()
Gets the audio loading sub-pipeline.
AssetImportPipeline(Assets::TextureAssetManager *textureAssetManager, Assets::MeshAssetManager *meshAssetManager, Assets::MaterialAssetManager *materialAssetManager, Assets::ModelAssetManager *modelAssetManager, Assets::SkinAssetManager *skinAssetManager, Assets::AnimationAssetManager *animationAssetManager, Assets::AudioAssetManager *audioAssetManager, NamedThreadPool *assetLoaderPool, Core::AssetManager *assetManager=nullptr)
Create the master asset import pipeline and its sub-pipelines.
TextureAssetPipeline & getTextureAssetPipeline()
Gets the texture loading sub-pipeline.
Async pipeline for loading audio assets (WAV, FLAC, MP3)
The model asset pipeline loads a gltf scene and loads and loads the mesh and material data....
Infrastructure to load images into the ecs.
EnTT component data used by engine systems.