Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
MeshAsset.h
1#pragma once
2#include "Engine/Core/Asset.h"
3#include "Engine/Ecs/EcsData.h"
4
5namespace Engine::Ecs
6{
8} // namespace Engine::Ecs
9
10namespace Ecs {
11 class ModelAssetPipeline;
12}
13
14namespace Engine::Assets
15{
19 class Mesh : public Asset::AssetBase
20 {
22 public:
27 Mesh(bool initEcsData = false);
28
32 void unload() override;
33
39
40 protected:
44 void updateLoadingState() override;
45 };
46
50 class MeshAssetManager : public Asset::AssetManager<Asset::MeshPath, Mesh>
51 {
52 public:
56 MeshAssetManager() = default;
57 };
58}
Base class for asset wrappers. The data is stored in the private member variable 'data' in form of en...
Definition Asset.h:297
A manager which is used to look up existing assets and their loading state.
Definition Asset.h:358
MeshAssetManager()=default
Creates an empty mesh asset manager.
void unload() override
Unloads all data and clears the ecs objects.
Ecs::MeshPrimitiveData * getMeshPrimitiveData()
Gets the mesh data for this asset.
void updateLoadingState() override
Updates the loading state of the asset based on the existence of the ECS components.
Mesh(bool initEcsData=false)
Creates a mesh asset and optionally initializes ECS-backed asset data.
The model asset pipeline loads a gltf scene and loads and loads the mesh and material data....
EnTT component data used by engine systems.
Renderer-facing primitive collection for one mesh asset.
Definition EcsData.h:445