30 asset::AssetId meshId = std::numeric_limits<uint64_t>::max();
31 uint32_t transformDataHandle = std::numeric_limits<uint32_t>::max();
32 uint32_t boneDataHandle = std::numeric_limits<uint32_t>::max();
47 m_material{std::move(other.m_material)}
57 m_material = std::move(other.m_material);
67 auto GetEntity()
const ->
Entity {
return m_ctx.entity; }
71 auto GetMeshId()
const -> uint64_t {
return m_ctx.meshId; }
80 static void RegisterSubsystem(graphics::MeshSubsystem* subsystem)
82 s_subsystem = subsystem;
93 inline static graphics::MeshSubsystem* s_subsystem =
nullptr;
97 void Release() noexcept;
107 :
MeshBase{self, meshAsset, materialDesc, MeshInstanceType::Static}
119 asset::AssetId rootAnimationId = asset::NullAssetId)
120 :
MeshBase{self, meshAsset, materialDesc, MeshInstanceType::Skinned},
121 m_controller{rootAnimationId}
MeshInstanceType
Type of mesh components.
Definition: Mesh.h:21
Identifies an object in the registry.
Definition: Entity.h:18
static constexpr auto Null() noexcept
Construct a null Entity.
Definition: Entity.h:61
Owning wrapper around a material in GPU memory.
Definition: Material.h:70
Base class for mesh components.
Definition: Mesh.h:38
~MeshBase() noexcept
Definition: Mesh.h:87
void SetMaterial(const MaterialDesc &materialDesc)
auto GetMaterial() const -> const MaterialInstance &
Definition: Mesh.h:75
auto GetMaterial() -> MaterialInstance &
Definition: Mesh.h:76
State machine that controls animation transitions for a SkinnedMesh.
Definition: SkeletalAnimationController.h:88
Component enabling rendering of an Entity with a given mesh, material, and skeletal animation.
Definition: Mesh.h:114
Component enabling rendering of an Entity with a given mesh and material.
Definition: Mesh.h:102
Properties for constructing a MaterialInstance.
Definition: Material.h:62
Mesh component state for tracking internal instance data.
Definition: Mesh.h:28
Definition: AssetViews.h:51