ShaderManager class reference


The shader management class. In addition to loading standard shaders, it also allows you to load external programs.

Functions documentation

Default constructor - loads programs(shaders).


ShaderManager(const ShaderManager & copy) = delete;

Copy constructor is currently unavailable.


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.