Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
EngineCore::MeshAsset Class Reference

The mesh asset stores geometry data and. More...

#include <MeshAsset.h>

Inheritance diagram for EngineCore::MeshAsset:
Collaboration diagram for EngineCore::MeshAsset:

Public Member Functions

 MeshAsset (bool initEcsData=false)
void unload () override
 Unloads all data and clears the ecs objects.
Ecs::MeshPrimitiveDatagetMeshPrimitiveData ()
 Gets the mesh data for this asset.
Public Member Functions inherited from Asset::AssetBase
 AssetBase (bool initializeDefaultEntity=false)
virtual ~AssetBase ()
CpuLoadingState getLoadingState ()
 Gets the loading state of this asset.
void requestLoad ()
 If this asset is in the UNLOADED state it will get added to the assets to load.
entt::entity getEntity () const
 Getter for data.

Protected Member Functions

void updateLoadingState () override
 Updates the loading state of the asset based on the existence of the ECS components.

Friends

class Ecs::ModelAssetPipeline

Additional Inherited Members

Protected Attributes inherited from Asset::AssetBase
CpuLoadingState loadingState = UNLOADED
entt::registry & mainRegistry
entt::entity data

Detailed Description

The mesh asset stores geometry data and.

Definition at line 14 of file MeshAsset.h.

Constructor & Destructor Documentation

◆ MeshAsset()

EngineCore::MeshAsset::MeshAsset ( bool initEcsData = false)

Definition at line 5 of file MeshAsset.cpp.

References Asset::AssetBase::AssetBase().

Here is the call graph for this function:

Member Function Documentation

◆ getMeshPrimitiveData()

Ecs::MeshPrimitiveData * EngineCore::MeshAsset::getMeshPrimitiveData ( )

Gets the mesh data for this asset.

Returns
returns std::nullopt if the mesh data is in state Asset::LoadingState::UNLOADED
Author
Konstantin Passig
Date
03.12.2025

Definition at line 35 of file MeshAsset.cpp.

References Asset::AssetBase::data, Asset::AssetBase::getLoadingState(), Asset::LOADED, and Asset::AssetBase::mainRegistry.

Referenced by EngineCore::RenderingDataManager::collectMaterialsFromScene(), EngineCore::RenderingDataManager::snapshotRenderableMeshes(), EngineCore::RenderingDataManager::updatePrimitiveData(), EngineCore::RenderingDataManager::updatePrimitiveDataInstanced(), and EngineCore::RenderingDataManager::updateTransforms().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unload()

void EngineCore::MeshAsset::unload ( )
overridevirtual

Unloads all data and clears the ecs objects.

Author
Konstantin Passig
Date
10.12.2025

Reimplemented from Asset::AssetBase.

Definition at line 9 of file MeshAsset.cpp.

◆ updateLoadingState()

void EngineCore::MeshAsset::updateLoadingState ( )
overrideprotectedvirtual

Updates the loading state of the asset based on the existence of the ECS components.

Author
Konstantin Passig
Date
24.12.2025

Reimplemented from Asset::AssetBase.

Definition at line 14 of file MeshAsset.cpp.

References Asset::AssetBase::data, Asset::LOADED, Asset::LOADING, Asset::AssetBase::loadingState, Asset::AssetBase::mainRegistry, and Asset::UNLOADED.

◆ Ecs::ModelAssetPipeline

friend class Ecs::ModelAssetPipeline
friend

Definition at line 16 of file MeshAsset.h.


The documentation for this class was generated from the following files:
  • /home/magerbeton/Documents/gl3-vulkan/Engine/include/Engine/Mesh/MeshAsset.h
  • /home/magerbeton/Documents/gl3-vulkan/Engine/src/Engine/Mesh/MeshAsset.cpp