Lysa  0.0
Lysa 3D Engine
MeshManager Class Reference
+ Inheritance diagram for MeshManager:

Public Member Functions

 MeshManager (size_t capacity, size_t vertexCapacity, size_t indexCapacity, size_t surfaceCapacity)
 
Meshcreate (const std::vector< Vertex > &vertices, const std::vector< uint32 > &indices, const std::vector< MeshSurface > &surfaces, const std::string &name="")
 
Meshcreate (const std::string &name="")
 
void upload (unique_id id)
 
void flush ()
 
auto getMeshSurfaceBuffer () const
 
auto getVertexBuffer () const
 
auto getIndexBuffer () const
 
bool destroy (unique_id id) override
 
bool destroy (const Mesh &m) override
 
- Public Member Functions inherited from ResourcesManager< Mesh >
 ResourcesManager (ResourcesManager &) = delete
 
Meshcreate (Args &&...args)
 
unique_id getCapacity () const
 
bool have (const unique_id id) const
 
ResourcesManageroperator= (ResourcesManager &) = delete
 
Meshoperator[] (const unique_id id)
 
const Meshoperator[] (const unique_id id) const
 
void use (const unique_id id)
 
virtual ~ResourcesManager ()
 

Additional Inherited Members

- Protected Member Functions inherited from ResourcesManager< Mesh >
 ResourcesManager (const size_t capacity, const std::string &name)
 
Meshallocate (std::unique_ptr< Mesh > instance)
 
bool isFull () const
 
- Protected Attributes inherited from ResourcesManager< Mesh >
std::vector< std::unique_ptr< Mesh > > resources
 

Constructor & Destructor Documentation

MeshManager ( size_t  capacity,
size_t  vertexCapacity,
size_t  indexCapacity,
size_t  surfaceCapacity 
)

Construct a new manager

Parameters
capacitymaximum capacity
vertexCapacity
indexCapacity
surfaceCapacity

Member Function Documentation

Mesh& create ( const std::string &  name = "")
Mesh& create ( const std::vector< Vertex > &  vertices,
const std::vector< uint32 > &  indices,
const std::vector< MeshSurface > &  surfaces,
const std::string &  name = "" 
)
bool destroy ( const Mesh m)
inlineoverridevirtual
bool destroy ( unique_id  id)
overridevirtual
void flush ( )
auto getIndexBuffer ( ) const
inline
auto getMeshSurfaceBuffer ( ) const
inline
auto getVertexBuffer ( ) const
inline
void upload ( unique_id  id)