InfoVis 2013  1.0
Information Visualisation project - "Mapping Text with Phrase Nets"
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ShaderManager.h
Go to the documentation of this file.
1 #ifndef SHADERMANAGER_H
2 #define SHADERMANAGER_H
3 
4 class Shader;
5 
6 #include <map>
7 #include <string>
8 
9 
11 {
13 
15 };
16 
17 /* The Renderer class is responsible for the management and creation of OpenGL3 shaders */
19 {
20 public:
21  ShaderManager();
22  virtual ~ShaderManager();
23 
24  Shader *getShader(unsigned int id);
25  void loadShader(unsigned int id, std::string path);
26 
27 
28  bool getShadersInitialised();
29 
30 private:
31  ShaderManager(const ShaderManager& sm);
32  ShaderManager& operator=(const ShaderManager& sm);
33 
34  bool initializeShaders();
35  void deinitializeShaders();
36 
37  typedef std::map<unsigned int, Shader*> shaderContainerType;
38  shaderContainerType m_shaders;
39 
40  bool m_shadersInitialized;
41 
42  static const std::string DIR_SHADERPROGRAMS;
43 
44  static const std::string PATH_SHADER_ARROW;
45 };
46 
47 #endif