17 #ifndef BUBBA_3D_RESOURCEMANAGER_H 18 #define BUBBA_3D_RESOURCEMANAGER_H 21 #include "ShaderProgram.h" 35 static void loadShader(
const std::string &vertexShader,
const std::string &fragmentShader, std::string name);
38 static Texture* loadAndFetchTexture(
const std::string &fileName);
39 static Mesh* loadAndFetchMesh (
const std::string &fileName);
41 template<
typename Type>
42 static Type* getItemFromMap(std::map<std::string, Type> *map, std::string
id) ;
45 static std::map<std::string, ShaderProgram> shaders;
46 static std::map<std::string, Texture> textures;
47 static std::map<std::string, Mesh> meshes;
49 static void loadTexture(
const std::string &fileName);
50 static Texture* getTexture(std::string fileName);
52 static void loadMesh(
const std::string &fileName);
53 static Mesh* getMesh(std::string fileName);
57 #endif //BUBBA_3D_RESOURCEMANAGER_H
Class for maintaining OpenGL shader programs.
ResourceManager for all resources that can be shared.