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(constShaderManager& 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.