CSCI441 OpenGL Library 5.9.0
CS@Mines CSCI441 Computer Graphics Course Library
|
Handles registration and compilation of Shaders. More...
#include <ShaderProgram.hpp>
Public Member Functions | |
ShaderProgram (const char *vertexShaderFilename, const char *fragmentShaderFilename) | |
Creates a Shader Program using a Vertex Shader and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *fragmentShaderFilename, bool isSeparable) | |
Creates a Shader Program using a Vertex Shader and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *tessellationControlShaderFilename, const char *tessellationEvaluationShaderFilename, const char *geometryShaderFilename, const char *fragmentShaderFilename) | |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, Geometry Shader, and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *tessellationControlShaderFilename, const char *tessellationEvaluationShaderFilename, const char *geometryShaderFilename, const char *fragmentShaderFilename, bool isSeparable) | |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, Geometry Shader, and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *tessellationControlShaderFilename, const char *tessellationEvaluationShaderFilename, const char *fragmentShaderFilename) | |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *tessellationControlShaderFilename, const char *tessellationEvaluationShaderFilename, const char *fragmentShaderFilename, bool isSeparable) | |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *geometryShaderFilename, const char *fragmentShaderFilename) | |
Creates a Shader Program using a Vertex Shader, Geometry Shader, and Fragment Shader. | |
ShaderProgram (const char *vertexShaderFilename, const char *geometryShaderFilename, const char *fragmentShaderFilename, bool isSeparable) | |
Creates a Shader Program using a Vertex Shader, Geometry Shader, and Fragment Shader. | |
ShaderProgram (const char **shaderFilenames, bool vertexPresent, bool tessellationPresent, bool geometryPresent, bool fragmentPresent, bool isSeparable) | |
Creates a Shader Program using any combination of shaders. Intended to be used to create separable programs but can be used as an alternative to the above overloaded constructors to explicitly state which shaders are present. | |
virtual | ~ShaderProgram () |
Clean up memory associated with the Shader Program. | |
ShaderProgram (const ShaderProgram &)=delete | |
do not allow shader programs to be copied | |
ShaderProgram & | operator= (const ShaderProgram &)=delete |
do not allow shader programs to be copied | |
virtual bool | writeShaderProgramBinaryToFile (const char *BINARY_FILE_NAME) const final |
writes precompiled shader program binary to external file | |
virtual GLint | getUniformLocation (const char *uniformName) const final |
Returns the location of the given uniform in this shader program. | |
virtual GLint | getUniformBlockIndex (const char *uniformBlockName) const final |
Returns the index of the given uniform block in this shader program. | |
virtual GLint | getUniformBlockSize (const char *uniformBlockName) const final |
Returns the size of the given uniform block in this shader program. | |
virtual GLubyte * | getUniformBlockBuffer (const char *uniformBlockName) const final |
Returns an allocated buffer for the given uniform block in this shader program. | |
virtual GLint * | getUniformBlockOffsets (const char *uniformBlockName) const final |
Returns an array of offsets into the buffer for the given uniform block in this shader program. | |
virtual GLint * | getUniformBlockOffsets (const char *uniformBlockName, const char *names[]) const final |
Returns an array of offsets into the buffer for the given uniform block and names in this shader program. | |
virtual GLint * | getUniformBlockOffsets (GLint uniformBlockIndex) const final |
Returns an array of offsets into the buffer for the given uniform block in this shader program. | |
virtual GLint * | getUniformBlockOffsets (GLint uniformBlockIndex, const char *names[]) const final |
Returns an array of offsets into the buffer for the given uniform block and names in this shader program. | |
virtual void | setUniformBlockBinding (const char *uniformBlockName, GLuint binding) const final |
Set the binding point for the given uniform block in this shader program. | |
virtual GLint | getAttributeLocation (const char *attributeName) const final |
Returns the location of the given attribute in this shader program. | |
virtual GLuint | getSubroutineIndex (GLenum shaderStage, const char *subroutineName) const final |
Returns the index of the given subroutine for a shader stage in this shader program. | |
virtual GLint | getImageBinding (const char *imageName) const final |
Returns the binding point for the corresponding image uniform. | |
virtual GLint | getShaderStorageBlockBinding (const char *ssboName) const final |
Returns the binding point for the corresponding shader storage block. | |
virtual GLint | getAtomicCounterBufferBinding (const char *atomicName) const final |
Returns the binding point for the corresponding atomic counter buffer. | |
virtual GLint | getAtomicCounterBufferOffset (const char *atomicName) const final |
Returns the offset into the buffer for the corresponding atomic counter buffer. | |
virtual GLint | getAtomicCounterBufferSize (const char *atomicName) const final |
Returns the full buffer size for the corresponding atomic counter buffer. | |
virtual GLuint | getNumUniforms () const final |
Returns the number of active uniforms in this shader program. | |
virtual GLuint | getNumUniformBlocks () const final |
Returns the number of active uniform blocks in this shader program. | |
virtual GLuint | getNumAttributes () const final |
Returns the number of active attributes in this shader program. | |
virtual GLuint | getShaderProgramHandle () const final |
Returns the handle for this shader program. | |
virtual void | useProgram () const final |
Sets the Shader Program to be active. | |
virtual void | setProgramUniform (const char *uniformName, GLfloat v0) const final |
sets the program uniform consisting of one float | |
virtual void | setProgramUniform (const char *uniformName, GLint v0) const final |
sets the program uniform consisting of one integer | |
virtual void | setProgramUniform (const char *uniformName, GLuint v0) const final |
sets the program uniform consisting of one unsigned integer | |
virtual void | setProgramUniform (const char *uniformName, glm::mat2 mtx) const final |
sets the program uniform consisting of one 2x2 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat3 mtx) const final |
sets the program uniform consisting of one 3x3 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat4 mtx) const final |
sets the program uniform consisting of one 4x4 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat2x3 mtx) const final |
sets the program uniform consisting of one 2x3 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat3x2 mtx) const final |
sets the program uniform consisting of one 3x2 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat2x4 mtx) const final |
sets the program uniform consisting of one 2x4 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat4x2 mtx) const final |
sets the program uniform consisting of one 4x2 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat3x4 mtx) const final |
sets the program uniform consisting of one 3x4 matrix | |
virtual void | setProgramUniform (const char *uniformName, glm::mat4x3 mtx) const final |
sets the program uniform consisting of one 4x3 matrix | |
virtual void | setProgramUniform (const char *uniformName, GLfloat v0, GLfloat v1) const final |
sets the program uniform consisting of two floats | |
virtual void | setProgramUniform (const char *uniformName, GLint v0, GLint v1) const final |
sets the program uniform consisting of two integers | |
virtual void | setProgramUniform (const char *uniformName, GLuint v0, GLuint v1) const final |
sets the program uniform consisting of two unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, GLfloat v0, GLfloat v1, GLfloat v2) const final |
sets the program uniform consisting of three floats | |
virtual void | setProgramUniform (const char *uniformName, GLint v0, GLint v1, GLint v2) const final |
sets the program uniform consisting of three integers | |
virtual void | setProgramUniform (const char *uniformName, GLuint v0, GLuint v1, GLuint v2) const final |
sets the program uniform consisting of three unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const final |
sets the program uniform consisting of four floats | |
virtual void | setProgramUniform (const char *uniformName, GLint v0, GLint v1, GLint v2, GLint v3) const final |
sets the program uniform consisting of four integers | |
virtual void | setProgramUniform (const char *uniformName, GLuint v0, GLuint v1, GLuint v2, GLuint v3) const final |
sets the program uniform consisting of four unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, glm::vec2 value) const final |
sets the program uniform consisting of two floats | |
virtual void | setProgramUniform (const char *uniformName, glm::ivec2 value) const final |
sets the program uniform consisting of two integers | |
virtual void | setProgramUniform (const char *uniformName, glm::uvec2 value) const final |
sets the program uniform consisting of two unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, glm::vec3 value) const final |
sets the program uniform consisting of three floats | |
virtual void | setProgramUniform (const char *uniformName, glm::ivec3 value) const final |
sets the program uniform consisting of three integers | |
virtual void | setProgramUniform (const char *uniformName, glm::uvec3 value) const final |
sets the program uniform consisting of three unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, glm::vec4 value) const final |
sets the program uniform consisting of four floats | |
virtual void | setProgramUniform (const char *uniformName, glm::ivec4 value) const final |
sets the program uniform consisting of four integers | |
virtual void | setProgramUniform (const char *uniformName, glm::uvec4 value) const final |
sets the program uniform consisting of four unsigned integers | |
virtual void | setProgramUniform (const char *uniformName, GLuint dim, GLsizei count, const GLfloat *value) const final |
sets the program uniform consisting of floats | |
virtual void | setProgramUniform (const char *uniformName, GLuint dim, GLsizei count, const GLint *value) const final |
sets the program uniform consisting of integers | |
virtual void | setProgramUniform (const char *uniformName, GLuint dim, GLsizei count, const GLuint *value) const final |
sets the program uniform consisting of unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLfloat v0) const final |
sets the program uniform consisting of one float | |
virtual void | setProgramUniform (GLint uniformLocation, GLint v0) const final |
sets the program uniform consisting of one integer | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint v0) const final |
sets the program uniform consisting of one unsigned integer | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat2 mtx) const final |
sets the program uniform consisting of one 2x2 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat3 mtx) const final |
sets the program uniform consisting of one 3x3 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat4 mtx) const final |
sets the program uniform consisting of one 4x4 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat2x3 mtx) const final |
sets the program uniform consisting of one 2x3 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat3x2 mtx) const final |
sets the program uniform consisting of one 3x2 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat2x4 mtx) const final |
sets the program uniform consisting of one 2x4 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat4x2 mtx) const final |
sets the program uniform consisting of one 4x2 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat3x4 mtx) const final |
sets the program uniform consisting of one 3x4 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, glm::mat4x3 mtx) const final |
sets the program uniform consisting of one 4x3 matrix | |
virtual void | setProgramUniform (GLint uniformLocation, GLfloat v0, GLfloat v1) const final |
sets the program uniform consisting of two floats | |
virtual void | setProgramUniform (GLint uniformLocation, GLint v0, GLint v1) const final |
sets the program uniform consisting of two integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint v0, GLuint v1) const final |
sets the program uniform consisting of two unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLfloat v0, GLfloat v1, GLfloat v2) const final |
sets the program uniform consisting of three floats | |
virtual void | setProgramUniform (GLint uniformLocation, GLint v0, GLint v1, GLint v2) const final |
sets the program uniform consisting of three integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint v0, GLuint v1, GLuint v2) const final |
sets the program uniform consisting of three unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const final |
sets the program uniform consisting of four floats | |
virtual void | setProgramUniform (GLint uniformLocation, GLint v0, GLint v1, GLint v2, GLint v3) const final |
sets the program uniform consisting of four integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint v0, GLuint v1, GLuint v2, GLuint v3) const final |
sets the program uniform consisting of four unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::vec2 value) const final |
sets the program uniform consisting of two floats | |
virtual void | setProgramUniform (GLint uniformLocation, glm::ivec2 value) const final |
sets the program uniform consisting of two integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::uvec2 value) const final |
sets the program uniform consisting of two unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::vec3 value) const final |
sets the program uniform consisting of three floats | |
virtual void | setProgramUniform (GLint uniformLocation, glm::ivec3 value) const final |
sets the program uniform consisting of three integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::uvec3 value) const final |
sets the program uniform consisting of three unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::vec4 value) const final |
sets the program uniform consisting of four floats | |
virtual void | setProgramUniform (GLint uniformLocation, glm::ivec4 value) const final |
sets the program uniform consisting of four integers | |
virtual void | setProgramUniform (GLint uniformLocation, glm::uvec4 value) const final |
sets the program uniform consisting of four unsigned integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint dim, GLsizei count, const GLfloat *value) const final |
sets the program uniform consisting of floats | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint dim, GLsizei count, const GLint *value) const final |
sets the program uniform consisting of integers | |
virtual void | setProgramUniform (GLint uniformLocation, GLuint dim, GLsizei count, const GLuint *value) const final |
sets the program uniform consisting of unsigned integers | |
virtual GLbitfield | getProgramStages () const final |
returns a single value corresponding to which shader stages are present in this shader program | |
Static Public Member Functions | |
static void | enableDebugMessages () |
Enables debug messages from Shader Program functions. | |
static void | disableDebugMessages () |
Disables debug messages from Shader Program functions. | |
static ShaderProgram * | loadShaderProgramFromBinaryFile (const char *BINARY_FILE_NAME, GLenum format) |
loads precompiled shader program binary from external file | |
Protected Member Functions | |
ShaderProgram () | |
creates an empty shader program object | |
virtual bool | mRegisterShaderProgram (const char *vertexShaderFilename, const char *tessellationControlShaderFilename, const char *tessellationEvaluationShaderFilename, const char *geometryShaderFilename, const char *fragmentShaderFilename, bool isSeparable) final |
registers a shader program with the GPU | |
Static Protected Attributes | |
static bool | sDEBUG = true |
if DEBUG information should be printed or not | |
Handles registration and compilation of Shaders.
|
inline |
Creates a Shader Program using a Vertex Shader and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
|
inline |
Creates a Shader Program using a Vertex Shader and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
isSeparable | if program is separable |
|
inline |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, Geometry Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
tessellationControlShaderFilename | name of the file corresponding to the tessellation control shader |
tessellationEvaluationShaderFilename | name of the file corresponding to the tessellation evaluation shader |
geometryShaderFilename | name of the file corresponding to the geometry shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
|
inline |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, Geometry Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
tessellationControlShaderFilename | name of the file corresponding to the tessellation control shader |
tessellationEvaluationShaderFilename | name of the file corresponding to the tessellation evaluation shader |
geometryShaderFilename | name of the file corresponding to the geometry shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
isSeparable | if program is separable |
|
inline |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
tessellationControlShaderFilename | name of the file corresponding to the tessellation control shader |
tessellationEvaluationShaderFilename | name of the file corresponding to the tessellation evaluation shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
|
inline |
Creates a Shader Program using a Vertex Shader, Tessellation Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
tessellationControlShaderFilename | name of the file corresponding to the tessellation control shader |
tessellationEvaluationShaderFilename | name of the file corresponding to the tessellation evaluation shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
isSeparable | if program is separable |
|
inline |
Creates a Shader Program using a Vertex Shader, Geometry Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
geometryShaderFilename | name of the file corresponding to the geometry shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
|
inline |
Creates a Shader Program using a Vertex Shader, Geometry Shader, and Fragment Shader.
vertexShaderFilename | name of the file corresponding to the vertex shader |
geometryShaderFilename | name of the file corresponding to the geometry shader |
fragmentShaderFilename | name of the file corresponding to the fragment shader |
isSeparable | if program is separable |
|
inline |
Creates a Shader Program using any combination of shaders. Intended to be used to create separable programs but can be used as an alternative to the above overloaded constructors to explicitly state which shaders are present.
shaderFilenames | an array of filenames corresponding to all the shaders. size must be equal to the sum of true shaders present, with two for the tessellation shader |
vertexPresent | if vertex shader is present |
tessellationPresent | if tessellation shader is present |
geometryPresent | if geometry shader is present |
fragmentPresent | if fragment shader is present |
isSeparable | if program is separable |
|
inlinestatic |
Disables debug messages from Shader Program functions.
|
inlinestatic |
Enables debug messages from Shader Program functions.
|
inlinefinalvirtual |
Returns the binding point for the corresponding atomic counter buffer.
atomicName | name of the atomic counter buffer to get size for |
|
inlinefinalvirtual |
Returns the offset into the buffer for the corresponding atomic counter buffer.
atomicName | name of the atomic counter buffer to get size for |
|
inlinefinalvirtual |
Returns the full buffer size for the corresponding atomic counter buffer.
atomicName | name of the atomic counter buffer to get size for |
|
inlinefinalvirtual |
Returns the location of the given attribute in this shader program.
attributeName | name of the attribute to get the location for |
|
inlinefinalvirtual |
Returns the binding point for the corresponding image uniform.
imageName | name of the image to get binding point for |
|
inlinefinalvirtual |
Returns the number of active attributes in this shader program.
|
inlinefinalvirtual |
Returns the number of active uniform blocks in this shader program.
|
inlinefinalvirtual |
Returns the number of active uniforms in this shader program.
|
inlinefinalvirtual |
returns a single value corresponding to which shader stages are present in this shader program
|
inlinefinalvirtual |
Returns the handle for this shader program.
|
inlinefinalvirtual |
Returns the binding point for the corresponding shader storage block.
ssboName | name of the shader storage block to get binding point for |
|
inlinefinalvirtual |
Returns the index of the given subroutine for a shader stage in this shader program.
shaderStage | stage of the shader program to get the subroutine for. Allowable values: GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER, GL_FRAGMENT_SHADER |
subroutineName | name of the subroutine to get the location for |
|
inlinefinalvirtual |
Returns an allocated buffer for the given uniform block in this shader program.
uniformBlockName | name of the uniform block to allocate a buffer for |
|
inlinefinalvirtual |
Returns the index of the given uniform block in this shader program.
uniformBlockName | name of the uniform block to get the index for |
|
inlinefinalvirtual |
Returns an array of offsets into the buffer for the given uniform block in this shader program.
uniformBlockName | name of the uniform block to return offsets for |
|
inlinefinalvirtual |
Returns an array of offsets into the buffer for the given uniform block and names in this shader program.
uniformBlockName | name of the uniform block to return offsets for |
names | names of the uniform block components to get offsets for |
|
inlinefinalvirtual |
Returns an array of offsets into the buffer for the given uniform block in this shader program.
uniformBlockIndex | index uniform block to return offsets for |
|
inlinefinalvirtual |
Returns an array of offsets into the buffer for the given uniform block and names in this shader program.
uniformBlockIndex | index uniform block to return offsets for |
names | names of the uniform block components to get offsets for |
|
inlinefinalvirtual |
Returns the size of the given uniform block in this shader program.
uniformBlockName | - name of the uniform block to get the size for |
|
inlinefinalvirtual |
Returns the location of the given uniform in this shader program.
uniformName | name of the uniform to get the location for |
|
inlinestatic |
loads precompiled shader program binary from external file
BINARY_FILE_NAME | filename to read shader program binary from |
format | format of binary data |
|
inlinefinalprotectedvirtual |
registers a shader program with the GPU
vertexShaderFilename | vertex shader filename to load from text file |
tessellationControlShaderFilename | tessellation control shader filename to load from text file |
tessellationEvaluationShaderFilename | tessellation evaluation shader filename to load from text file |
geometryShaderFilename | geometry shader filename to load from text file |
fragmentShaderFilename | fragment shader filename to load from text file |
isSeparable | if shader program is separable |
|
inlinefinalvirtual |
sets the program uniform consisting of one float
uniformName | name of the uniform as a string |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two floats
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three floats
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four floats
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one integer
uniformName | name of the uniform as a string |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x2 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x3 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x4 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x3 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x2 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x4 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x4 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x2 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x3 matrix
uniformName | name of the uniform as a string |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two unsigned integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three unsigned integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four unsigned integers
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two floats
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three floats
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four floats
uniformName | name of the uniform as a string |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of floats
uniformName | name of the uniform as a string |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of integers
uniformName | name of the uniform as a string |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of unsigned integers
uniformName | name of the uniform as a string |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of one unsigned integer
uniformName | name of the uniform as a string |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two unsigned integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three unsigned integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four unsigned integers
uniformName | name of the uniform as a string |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one float
uniformLocation | location of the uniform |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two floats
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three floats
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four floats
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one integer
uniformLocation | location of the uniform |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x2 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x3 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 2x4 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x3 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x2 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 3x4 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x4 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x2 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of one 4x3 matrix
uniformLocation | location of the uniform |
mtx | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two unsigned integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three unsigned integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four unsigned integers
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two floats
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three floats
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four floats
uniformLocation | location of the uniform |
value | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of floats
uniformLocation | location of the uniform |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of integers
uniformLocation | location of the uniform |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of unsigned integers
uniformLocation | location of the uniform |
dim | dimension (number of components) for each value |
count | number of values in array |
value | array of values (array size is equal to dim*count) |
|
inlinefinalvirtual |
sets the program uniform consisting of one unsigned integer
uniformLocation | location of the uniform |
v0 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of two unsigned integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of three unsigned integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
|
inlinefinalvirtual |
sets the program uniform consisting of four unsigned integers
uniformLocation | location of the uniform |
v0 | value to set |
v1 | value to set |
v2 | value to set |
v3 | value to set |
|
inlinefinalvirtual |
Set the binding point for the given uniform block in this shader program.
uniformBlockName | name of the uniform block to bind |
binding | point for this uniform block |
|
inlinefinalvirtual |
writes precompiled shader program binary to external file
BINARY_FILE_NAME | filename to write shader program binary to |
|
inlinestaticprotected |
if DEBUG information should be printed or not