00001 #ifndef SHADERMANAGER_HPP 00002 #define SHADERMANAGER_HPP 00003 00004 #include "Shader.hpp" 00005 00006 #include <map> 00007 #include <string> 00008 00016 class ShaderManager { 00017 public: 00018 virtual ~ShaderManager(void); 00019 00020 static ShaderManager *getInstance(void); 00021 00022 Shader *getShader(unsigned int id); 00023 void loadShader(unsigned int id, std::string path); 00024 private: 00025 static ShaderManager *m_instance; 00026 00027 std::map<unsigned int, Shader *> m_shaders; 00028 00029 ShaderManager(void); 00030 }; 00031 00032 #endif