ShaderManager class reference
The shader management class. In addition to loading standard shaders, it also allows you to load external programs.
Functions
Functions documentation
Default constructor - loads programs(shaders).
ShaderManager
(const
ShaderManager
& copy) = delete;
Copy constructor is currently unavailable.
~
ShaderManager
();
Destructor - removes loaded programs(shaders).
void AddShader(const char* shaderName, const std::string vertexShader, const std::string fragmentShader);
Loads the shader and stores it under the given name.
void LoadUniform(const char* shaderName, int uniformsAmount, const char* uniformName ...);
Loads uniforms for the given shader.
std::map<const char*, GLuint, CompareCStr>* GetShaderData(const char* shaderName);
Allows access to shader data.
GLuint CompileShader(const char* name, const char* vertexShader, const char* fragmentShader);
Compiles the OpenGL shader.
Variables documentation
std::map<const char*, std::map<const char*, GLuint, CompareCStr>, CompareCStr > m_Programs;
Containing data of loaded shaders - their names, identifiers and uniform identifiers.
bool m_ShadersInitialized;
It secures(prevent) the re-initialization of shaders.