41 static std::string
entityName(
const std::string path,
const std::string name);
48 static std::string
entityName(
const std::string path);
58 virtual std::shared_ptr<std::unique_ptr<Geometry>>
getGeometry(std::string name);
59 virtual std::shared_ptr<std::unique_ptr<Material>>
getMaterial(std::string name);
60 virtual std::shared_ptr<std::unique_ptr<Program>>
getProgram(std::string name);
74 virtual void loadObj(std::string path);
88 std::vector<QVector3D> & texCoords,
89 std::vector<QVector3D> & normals,
90 std::vector<IndexTriple> & indexTriples,
99 virtual void loadMtl(std::string path);
static ResourceManager * m_instance
Definition: resourcemanager.h:32
The Material class wraps loading uniform data used as material coefficients.
Definition: material.h:15
virtual void loadProgram(std::string path)
Vertex and fragment shader files are loaded an combined into on program instance from the Program cla...
Definition: resourcemanager.cpp:260
virtual std::shared_ptr< std::unique_ptr< Program > > getProgram(std::string name)
Definition: resourcemanager.cpp:85
The ResourceManager class loads geometry, materials and shader progams during initialization and prov...
Definition: resourcemanager.h:23
virtual void loadObj(std::string path)
The .obj file specified by "path" will be parsed and stored in the geometry container m_geometryStora...
Definition: resourcemanager.cpp:90
virtual void loadObjGenerateAdd(std::vector< QVector3D > &positions, std::vector< QVector3D > &texCoords, std::vector< QVector3D > &normals, std::vector< IndexTriple > &indexTriples, std::string name)
This method is part of the loading mechanism for .obj files.
Definition: resourcemanager.cpp:166
std::map< std::string, std::shared_ptr< std::unique_ptr< Material > > > m_materialStorage
Definition: resourcemanager.h:113
static std::string entityName(const std::string path, const std::string name)
Generates a unique resource identifier from the resource's file path and name.
Definition: resourcemanager.cpp:31
virtual void putGeometry(std::string name, Geometry *geometry)
Definition: resourcemanager.cpp:269
virtual void loadResources()
All external resources the game might use are loaded here.
Definition: resourcemanager.cpp:62
virtual void putProgram(std::string name, Program *program)
Definition: resourcemanager.cpp:295
The program class implements the basic functionality used for binding programs to openGL...
Definition: program.h:18
virtual std::shared_ptr< std::unique_ptr< Geometry > > getGeometry(std::string name)
Definition: resourcemanager.cpp:75
std::map< std::string, std::shared_ptr< std::unique_ptr< Geometry > > > m_geometryStorage
Definition: resourcemanager.h:112
virtual std::shared_ptr< std::unique_ptr< Material > > getMaterial(std::string name)
Definition: resourcemanager.cpp:80
ResourceManager()
Definition: resourcemanager.cpp:54
virtual void putMaterial(std::string name, Material *material)
Definition: resourcemanager.cpp:282
static ResourceManager * getInstance()
Returns the singelton instance of the ResourceManager class.
Definition: resourcemanager.cpp:22
virtual ~ResourceManager()
Definition: resourcemanager.cpp:58
Definition: eventhandler.cpp:18
virtual void loadMtl(std::string path)
Loads material data from .mtl files.
Definition: resourcemanager.cpp:214
The Geometry class wraps the vertices data of one drawable object.
Definition: geometry.h:31
std::map< std::string, std::shared_ptr< std::unique_ptr< Program > > > m_programStorage
Definition: resourcemanager.h:114