Base class for asset wrappers. The data is stored in the private member variable 'data' in form of en...
entt::registry & mainRegistry
A manager which is used to look up existing assets and their loading state.
The model asset pipeline loads a gltf scene and loads and loads the mesh and material data....
MaterialAssetManager()=default
std::filesystem::path emissiveTexturePath
Path to emissive texture from glTF.
MaterialAsset(const Asset::Path &assetPath, bool initWithDefaultData=false)
void setLightmapTexturePath(const std::filesystem::path &path)
const std::filesystem::path & getBaseColorTexturePath() const
Gets the base color texture path for this material.
void setLightmapTextureHandle(LightmapTextureHandle h)
Set the lightmap texture handle (type-safe)
MetallicRoughnessTextureHandle getMetallicRoughnessTextureHandle() const
Get the type-safe metallic-roughness texture handle.
void setMetallicRoughnessTextureHandle(MetallicRoughnessTextureHandle h)
Set the metallic-roughness texture handle (type-safe)
EmissiveTextureHandle getEmissiveTextureHandle() const
Get the type-safe emissive texture handle.
const std::filesystem::path & getMetallicRoughnessTexturePath() const
NormalTextureHandle normalTextureHandle_
LightmapTextureHandle getLightmapTextureHandle() const
Get the type-safe lightmap texture handle.
NormalTextureHandle getNormalTextureHandle() const
Get the type-safe normal texture handle.
void setMetallicRoughnessTexturePath(const std::filesystem::path &path)
std::filesystem::path metallicRoughnessTexturePath
Path to metallic-roughness texture from glTF.
std::filesystem::path baseColorTexturePath
Path to base color texture from glTF.
LightmapTextureHandle lightmapTextureHandle_
void setEmissiveTextureHandle(EmissiveTextureHandle h)
Set the emissive texture handle (type-safe)
const std::filesystem::path & getLightmapTexturePath() const
void setEmissiveTexturePath(const std::filesystem::path &path)
void unload() override
Unload data.
std::filesystem::path lightmapTexturePath
Path to lightmap texture from VulkanSchnee extension.
const std::filesystem::path & getEmissiveTexturePath() const
EmissiveTextureHandle emissiveTextureHandle_
void setBaseColorTextureHandle(AlbedoTextureHandle h)
Set the base color texture handle (type-safe)
T & getData()
Method to get the material data from the ecs with the corresponding type.
void setNormalTexturePath(const std::filesystem::path &path)
MetallicRoughnessTextureHandle metallicRoughnessTextureHandle_
const std::filesystem::path & getNormalTexturePath() const
std::filesystem::path normalTexturePath
Path to normal map texture from glTF.
AlbedoTextureHandle getBaseColorTextureHandle() const
Get the type-safe base color texture handle.
AlbedoTextureHandle baseColorTextureHandle_
void setNormalTextureHandle(NormalTextureHandle h)
Set the normal texture handle (type-safe)
PipelineNames getType() const
Gets the material type for pipeline lookup.
void updateLoadingState() override
Updates the loading state based on presence of material ECS components.
void setBaseColorTexturePath(const std::filesystem::path &path)
Sets the base color texture path for this material.
Data structs for the Entity Component System.
Log category system implementation.
TypedTextureHandle< TextureType::MetallicRoughness > MetallicRoughnessTextureHandle
TypedTextureHandle< TextureType::Lightmap > LightmapTextureHandle
TypedTextureHandle< TextureType::Emissive > EmissiveTextureHandle
TypedTextureHandle< TextureType::Normal > NormalTextureHandle
TypedTextureHandle< TextureType::BaseColor > AlbedoTextureHandle