SimpleGL
1.1.0
A framework for platform independent rendering
|
This class wraps an OpenGL shader program. More...
#include <shader_objects.hpp>
Public Member Functions | |
ShaderProgram (void) | |
Creates a new shader program. More... | |
~ShaderProgram (void) | |
Deletes the shader program. More... | |
GLuint | getHandle () |
Returns the handle of the shader program. More... | |
void | attach (Shader *shader) |
Attaches a shader object to the shader program. More... | |
void | link () |
Links the shader program. More... | |
void | use () |
Uses the shader program for the current rendering state. More... | |
bool | getLinkStatus () |
Checks the link status of the shader program. More... | |
std::string | getInfoLog () |
Gets the info log of the shader program. More... | |
void | bindFragmentDataLocation (unsigned int colorNumber, std::string name) |
Binds the fragment out color variable. More... | |
int | getAttributeLocation (std::string name) |
Gets the location of an attribute variable with specified name. More... | |
int | getUniformLocation (std::string name) |
Gets the location of an uniform variable with specified name. More... | |
void | setUniform (int location, int value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, float value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::vec2 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::vec3 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::vec4 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::mat2 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::mat3 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (int location, glm::mat4 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, int value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, float value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::vec2 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::vec3 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::vec4 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::mat2 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::mat3 value) |
Sets the value of an uniform variable. More... | |
void | setUniform (std::string name, glm::mat4 value) |
Sets the value of an uniform variable. More... | |
This class wraps an OpenGL shader program.
Definition at line 93 of file shader_objects.hpp.
sgl::ShaderProgram::ShaderProgram | ( | void | ) |
Creates a new shader program.
Definition at line 58 of file shader_objects.cpp.
sgl::ShaderProgram::~ShaderProgram | ( | void | ) |
Deletes the shader program.
Definition at line 62 of file shader_objects.cpp.
void sgl::ShaderProgram::attach | ( | Shader * | shader | ) |
Attaches a shader object to the shader program.
shader | The shader object to attach. |
Definition at line 75 of file shader_objects.cpp.
void sgl::ShaderProgram::bindFragmentDataLocation | ( | unsigned int | colorNumber, |
std::string | name | ||
) |
Binds the fragment out color variable.
colorNumber | The color number to bind. |
name | Name of the out variable. |
Definition at line 108 of file shader_objects.cpp.
int sgl::ShaderProgram::getAttributeLocation | ( | std::string | name | ) |
Gets the location of an attribute variable with specified name.
name | The name of the attribute variable. |
Definition at line 112 of file shader_objects.cpp.
GLuint sgl::ShaderProgram::getHandle | ( | ) |
Returns the handle of the shader program.
Definition at line 71 of file shader_objects.cpp.
std::string sgl::ShaderProgram::getInfoLog | ( | ) |
Gets the info log of the shader program.
Definition at line 100 of file shader_objects.cpp.
bool sgl::ShaderProgram::getLinkStatus | ( | ) |
Checks the link status of the shader program.
Definition at line 94 of file shader_objects.cpp.
int sgl::ShaderProgram::getUniformLocation | ( | std::string | name | ) |
Gets the location of an uniform variable with specified name.
name | The name of the uniform variable. |
Definition at line 116 of file shader_objects.cpp.
void sgl::ShaderProgram::link | ( | ) |
Links the shader program.
Definition at line 79 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
int | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 120 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
float | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 124 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::vec2 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 128 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::vec3 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 132 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::vec4 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 136 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::mat2 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 140 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::mat3 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 144 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | int | location, |
glm::mat4 | value | ||
) |
Sets the value of an uniform variable.
location | The location of the uniform variable. |
value | The value to be used. |
Definition at line 148 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
int | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 152 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
float | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 157 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::vec2 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 162 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::vec3 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 167 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::vec4 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 172 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::mat2 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 177 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::mat3 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 182 of file shader_objects.cpp.
void sgl::ShaderProgram::setUniform | ( | std::string | name, |
glm::mat4 | value | ||
) |
Sets the value of an uniform variable.
name | The name of the uniform variable. |
value | The value to be used. |
Definition at line 187 of file shader_objects.cpp.
void sgl::ShaderProgram::use | ( | ) |
Uses the shader program for the current rendering state.
Definition at line 83 of file shader_objects.cpp.