|
void | setGlobalProjectionTransform (const Matrix4 &matrix) |
| Sets the projection matrix, which is a global uniform. More...
|
|
void | setTransform (const Matrix4 &matrix) |
| Sets the model transform. More...
|
|
void | setTexCoordScale (const Vector2 &value) |
| Sets the offset to apply to texture coordinates, shifting the source rectangle in the source texture. More...
|
|
void | setTexCoordOffset (const Vector2 &value) |
| Sets the scaling factor to apply to texture coordinates, shrinking or expanding the source rectangle in the source texture. More...
|
|
void | setOpacity (float value) |
| Sets the overall transparency of the rendered texture, with 0.0f completely transparent, and 1.0f fully opaque. More...
|
|
void | setTexture (const TexturePtr &texture) |
| Sets the source Texture to apply to the drawn rectangle. More...
|
|
| InstancedShaderBase () |
| Construct this InstancedShader, creating the shared Shader if necessary. More...
|
|
| InstancedShader (const ShaderPtr &sharedShader) |
| Create an InstancedShader which references a shader Shader. More...
|
|
const ShaderPtr & | getSharedShader () const |
| Returns the Shader that is shared among instances. More...
|
|
virtual bool | isCurrent () const override |
| Returns whether or not this instance is bound. More...
|
|
virtual bool | isValid () const override |
| Returns whether or not this shader is valid (compiled and linked) and can be used for rendering. More...
|
|
virtual bool | isCompiled () const override |
| Returns whether or not this shader has been processed for compilation. More...
|
|
virtual GLuint | getProgramId () const override |
| Returns the GL program id for this shader. More...
|
|
virtual void | begin () override |
| Binds this shader, and sets uniforms and other GL state associated with this instance. More...
|
|
virtual void | end () override |
| Unbinds this shader if bound by a corresponding call to begin(). More...
|
|
virtual void | compile () override |
| Compiles this shader, resulting in the compilation of the shared Shader if necessary. More...
|
|
virtual std::string | getErrorLog () const override |
| Retrieves the string describing compilation errors, if the call to compile() failed and isValid() is false . More...
|
|
virtual int | getAttributeLocation (int index) const override |
| Returns the location of an indexed Attribute. More...
|
|
virtual int | getUniformLocation (int index) const override |
| Returns the location of an indexed uniform. More...
|
|
void | setIndexedTexture (int index, int stage, const TexturePtr &value, TexturePtr *stateValue) |
| Set the indexed texture for this instance at the given index . More...
|
|
| Shader (const AttributeSetPtr &attributes, const std::vector< std::string > &uniformNames) |
| Construct a Shader with the given list of attributes and uniforms. More...
|
|
const AttributeSetPtr & | getAttributes () const |
| Returns the list of indexed Attributes for this shader, as an AttributeSet. More...
|
|
const std::vector< std::string > & | getUniformNames () const |
| Returns the list of indexed uniforms. More...
|
|
void | setIndexedUniform1f (int index, bool global, float value, float *stateValue) |
| Set the value of a float scalar uniform at the given index . More...
|
|
void | setIndexedUniform2f (int index, bool global, const Vector2 &value, Vector2 *stateValue) |
| Set the value of a 2D float vector uniform at the given index . More...
|
|
void | setIndexedUniform3f (int index, bool global, float value1, float value2, float value3, float *stateValue) |
| Set the value of a 3D float vector uniform at the given index . More...
|
|
void | setIndexedUniform4f (int index, bool global, float value1, float value2, float value3, float value4, float *stateValue) |
| Set the value of a 4D float vector uniform at the given index . More...
|
|
void | setIndexedUniform1i (int index, bool global, int value, int *stateValue) |
| Set the value of an integer scalar uniform at the given index . More...
|
|
void | setIndexedUniformMatrix4f (int index, bool global, bool transpose, const Matrix4 &value, Matrix4 *stateValue) |
| Set the value of a 4x4 float matrix uniform at the given index . More...
|
|
Shader use by Renderer to draw textured rectangles (sprites).
This Shader can take two transform matrices, a projection and model transform. The projection matrix is set once (usually by Renderer) and is global. The model matrix positions the rectangle in space, potentially rotated. This Shader also allows selection of a source rectangle in the given Texture. This is done by offsetting texture UV coordinates.
- Note
- This Shader is not intended to be used for batched rendering of sprites.