16#ifndef AEONGAMES_MODEL_H
17#define AEONGAMES_MODEL_H
22#include "aeongames/ResourceId.hpp"
23#include "aeongames/Resource.hpp"
50 DLL
void LoadFromMemory (
const void* aBuffer,
size_t aBufferSize )
final;
71 std::vector<ResourceId> mAnimations;
Stores skeletal animation data including keyframes and bone transforms.
Represents a surface material with uniform properties and texture samplers.
Represents a polygon mesh with vertex attributes and index data.
DLL const Skeleton * GetSkeleton() const
Get the skeleton associated with this model.
DLL void Unload() final
Unload model data and free resources.
DLL void LoadFromPBMsg(const ModelMsg &aModelMsg)
Load model data from a protobuf message.
DLL void LoadFromMemory(const void *aBuffer, size_t aBufferSize) final
Load model data from a memory buffer.
typename std::tuple< ResourceId, ResourceId, ResourceId > Assembly
A tuple of ResourceIds representing a pipeline, material, and mesh combination.
DLL void LoadRendererResources(Renderer &aRenderer) const
Load renderer-specific resources for this model.
DLL const std::vector< Assembly > & GetAssemblies() const
Get the list of assemblies that compose this model.
DLL void UnloadRendererResources(Renderer &aRenderer) const
Unload renderer-specific resources for this model.
DLL const std::vector< ResourceId > & GetAnimations() const
Get the list of animation resource identifiers.
Rendering pipeline resource.
Abstract base class for rendering backends.
Base class for loadable engine resources.
Identifies a resource by its type and path CRC32 hashes.
Skeletal animation resource containing a hierarchy of joints.
<- This is here just for the literals