Base class for Shader programs. More...
#include <Shader.h>
Public Member Functions | |
u32 | GetId () const |
virtual void | Use (Rendering::GLState &glState) const =0 |
virtual void | SetMVP (const m44 &mvp) const =0 |
GLuint | GetUniformLocation (const std::string &uniformName) const |
const VertexLayouts::VertexAttribs & | GetVertexAttributes () const |
Protected Member Functions | |
Shader (const TShaderId shaderId) | |
void | CompileProgram (const std::string &vertexShaderCode, const std::string &fragmentShaderCode) |
void | UseProgram (Rendering::GLState &glState) const |
void | SetUniformFloat (const float value, GLuint uniformLocation) const |
void | SetUniformM44 (const m44 &matrix, GLuint uniformLocation, bool transpose) const |
void | SetUniformV2 (const v2 &vec, GLuint uniformLocation) const |
void | SetUniformV3 (const v3 &vec, GLuint uniformLocation) const |
void | SetUniformV4 (const v4 &vec, GLuint uniformLocation) const |
void | SetUniformTextureSampler (Rendering::GLState &glState, GLuint samplerId, GLuint uniformLocation) const |
void | SetUniformBool (const bool value, GLuint uniformLocation) const |
void | SetUniformV4v (const v4 *vec, GLsizei count, GLuint uniformLocation) const |
Protected Member Functions inherited from Eegeo::NonCopyable | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
Protected Attributes | |
u32 | m_programHandle |
Base class for Shader programs.
This class provides base functionality for compiling shader programs and provides an interface to the their uniforms and vertex attributes.