SimpleGL  1.1.0
A framework for platform independent rendering
manager_gl.hpp
Go to the documentation of this file.
1 
8 #ifndef MANAGER_GL_HPP
9 #define MANAGER_GL_HPP
10 
11 #include <SimpleGL_gl/SimpleGL_gl_Export.h>
12 
13 #include <string>
14 
15 #include <SimpleGL/manager.hpp>
16 
17 #include "texture_object.hpp"
18 #include "shader_objects.hpp"
19 
20 namespace sgl {
21 
27  class SIMPLEGL_GL_EXPORT TextureManager : public Manager<Texture> {
28 
29  public:
35  void remove(std::string name) override;
36 
38  void clear() override;
39 
48  Texture* load(std::string path, std::string name);
49  };
50 
56  class SIMPLEGL_GL_EXPORT ShaderManager : public Manager<Shader> {
57 
58  public:
64  void remove(std::string name) override;
65 
67  void clear() override;
68 
78  Shader* loadShader(std::string path, std::string name, ShaderType type);
79 
90  ShaderProgram* loadShaderProgram(std::string vertexPath, std::string fragmentPath, std::string vertexName, std::string fragmentName);
91 
100  ShaderProgram* createShaderProgram(std::string vertexName, std::string fragmentName);
101  };
102 }
103 
104 #endif /* MANAGER_GL_HPP */
This class wraps an OpenGL shader object.
ShaderType
This enum wraps the shader types.
This class wraps an OpenGL shader program.
Generic namespace for the SimpleGL framework.
Definition: application.hpp:18
This class wraps an OpenGL texture object.
This class provides an class for managing textures.
Definition: manager_gl.hpp:27
This class provides an abstract class for managing objects.
Definition: manager.hpp:24
This class provides an class for managing shaders.
Definition: manager_gl.hpp:56