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

Public Member Functions

 MaterialManager (size_t capacity)
 
StandardMaterialcreate ()
 
ShaderMaterialcreate (const std::shared_ptr< ShaderMaterial > &orig)
 
ShaderMaterialcreate (const std::string &fragShaderFileName, const std::string &vertShaderFileName="")
 
void upload (const Material &material)
 
void flush ()
 
auto getBuffer () const
 
bool destroy (unique_id id) override
 
bool destroy (const StandardMaterial &m)
 
bool destroy (const ShaderMaterial &m)
 
- Public Member Functions inherited from ResourcesManager< Material >
 ResourcesManager (ResourcesManager &) = delete
 
Materialcreate (Args &&...args)
 
virtual bool destroy (const Material &res)
 
unique_id getCapacity () const
 
bool have (const unique_id id) const
 
ResourcesManageroperator= (ResourcesManager &) = delete
 
Materialoperator[] (const unique_id id)
 
const Materialoperator[] (const unique_id id) const
 
void use (const unique_id id)
 
virtual ~ResourcesManager ()
 

Additional Inherited Members

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

Constructor & Destructor Documentation

MaterialManager ( size_t  capacity)

Construct a manager bound to the given runtime context.

Parameters
capacityInitial capacity

Member Function Documentation

StandardMaterial& create ( )
ShaderMaterial& create ( const std::shared_ptr< ShaderMaterial > &  orig)
ShaderMaterial& create ( const std::string &  fragShaderFileName,
const std::string &  vertShaderFileName = "" 
)
bool destroy ( const ShaderMaterial m)
inline
bool destroy ( const StandardMaterial m)
inline
bool destroy ( unique_id  id)
overridevirtual
void flush ( )
auto getBuffer ( ) const
inline
void upload ( const Material material)