|
| ComputeShaderProgram (const char *computeShaderFilename) |
| Creates a Compute Shader Program.
|
|
| ~ComputeShaderProgram () final=default |
| Clean up memory associated with the Compute Shader Program.
|
|
| ComputeShaderProgram (const ComputeShaderProgram &)=delete |
| do not allow shader programs to be copied
|
|
ComputeShaderProgram & | operator= (const ComputeShaderProgram &)=delete |
| do not allow shader programs to be copied
|
|
virtual void | dispatchWork (GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ) final |
| dispatches work to the Compute Shader on the GPU
|
|
| 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
|
|