Core::Rendering::Shader
Shader Management in Unified Engine
The Shader
class in the Unified Engine
provides a high-level interface for working with GLSL shaders. It allows for easy loading, linking, and configuration of shaders for your rendering pipeline.
Shader Class
Initialization & Destructor
Constructor: Initialize the Shader class with optional vertex, fragment, and geometry files.
Shader(const char* vertexFile = nullptr, const char* fragmentFile = nullptr, const char* geometryFile = nullptr);
Destructor: Handles proper cleanup.
~Shader();
Program Management
Using & Unbinding Shaders:
Use a shader for rendering.
Unbind a shader after rendering.
void use(); void unbind();
Uniform Setters
Integer & Float: Setting integer and float uniforms in the shader.
void set1i(GLint value, const GLchar* name);
void set1f(GLfloat value, const GLchar* name);
Vectors: Setting vector uniforms (vec2, vec3, vec4).
void setVec2f(glm::fvec2 value, const GLchar* name);
void setVec3f(glm::fvec3 value, const GLchar* name);
void setVec4f(glm::fvec4 value, const GLchar* name);
Matrices: Setting matrix uniforms (mat3, mat4).
void setMat3fv(glm::mat3 value, const GLchar* name, GLboolean transpose = GL_FALSE);
void setMat4fv(glm::mat4 value, const GLchar* name, GLboolean transpose = GL_FALSE);
Last updated