![]() |
Murl Engine API
Version 2018.3
|
The IProgram video object interface. More...
#include <murl_video_i_program.h>
The IProgram video object interface.
This interface represents a GPU program used during rendering.
Used internally by Graph::FixedProgram and Graph::ShaderProgram.
Inherited by Murl::Video::Program.
Public Member Functions | |
virtual IObject * | GetObjectInterface ()=0 |
Get the mutable Video::IObject interface. More... | |
virtual const IObject * | GetObjectInterface () const =0 |
Get the constant Video::IObject interface. More... | |
virtual Bool | Enable ()=0 |
Enable the program. More... | |
virtual Bool | Disable ()=0 |
Disable the program. More... | |
virtual Bool | Set (IProgram *currentProgram)=0 |
Attach the new program to the current GPU program. More... | |
virtual Bool | UsesFixedTechnique () const =0 |
Check if the program represents a fixed-function one. More... | |
virtual IProgram * | GetBranch (const IConstants *constants)=0 |
Get a possible branch depending on some constants value. More... | |
virtual Bool | HasConstantBuffer (IEnums::ShaderType shaderType, IEnums::ConstantBufferItem item) const =0 |
Check if a given predefined constant buffer item is present. More... | |
virtual Bool | HasConstantBuffer (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Check if a specific constant buffer is present. More... | |
virtual SInt32 | GetConstantBufferIndex (IEnums::ShaderType shaderType, IEnums::ConstantBufferItem item) const =0 |
Get the index of a given predefined constant buffer item in the program. More... | |
virtual SInt32 | GetConstantBufferIndex (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the index of a specific constant buffer in the program. More... | |
virtual SInt32 | GetConstantBufferLocation (IEnums::ShaderType shaderType, IEnums::ConstantBufferItem item) const =0 |
Get the location (register number) of a given predefined constant buffer item in the program. More... | |
virtual SInt32 | GetConstantBufferLocation (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the location (register number) of a specific constant buffer in the program. More... | |
virtual UInt32 | GetNumberOfConstantBuffers (IEnums::ShaderType shaderType) const =0 |
Get the total number of constant buffers in the program. More... | |
virtual IEnums::ConstantBufferItem | GetConstantBufferItem (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the predefined constant buffer item at a given index. More... | |
virtual SInt32 | GetConstantBufferId (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the unique integer ID of a constant buffer at a given index. More... | |
virtual const String & | GetConstantBufferName (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the actual name of a constant buffer at a given index. More... | |
virtual Bool | SetConstantBuffer (IEnums::ShaderType shaderType, IEnums::ConstantBufferItem item, const void *buffer, const void *data)=0 |
Update the constant buffer in the program for a predefined buffer. More... | |
virtual Bool | SetConstantBuffer (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the constant buffer in the program for a specific buffer. More... | |
virtual Bool | HasUniform (IEnums::ShaderType shaderType, IEnums::UniformItem item) const =0 |
Check if a given predefined uniform item is present. More... | |
virtual Bool | HasUniform (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Check if a specific uniform is present. More... | |
virtual SInt32 | GetUniformIndex (IEnums::ShaderType shaderType, IEnums::UniformItem item) const =0 |
Get the index of a given predefined uniform item in the program. More... | |
virtual SInt32 | GetUniformIndex (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the index of a specific uniform in the program. More... | |
virtual SInt32 | GetUniformLocation (IEnums::ShaderType shaderType, IEnums::UniformItem item) const =0 |
Get the location (register number) of a given predefined uniform item in the program. More... | |
virtual SInt32 | GetUniformLocation (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the location (register number) of a specific uniform in the program. More... | |
virtual UInt32 | GetNumberOfUniforms (IEnums::ShaderType shaderType) const =0 |
Get the total number of uniforms in the program. More... | |
virtual IEnums::UniformItem | GetUniformItem (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the predefined uniform item at a given index. More... | |
virtual IEnums::UniformType | GetUniformType (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the data type of a uniform at a given index. More... | |
virtual SInt32 | GetUniformId (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the unique integer ID of a uniform at a given index. More... | |
virtual const String & | GetUniformName (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the actual name of a uniform at a given index. More... | |
virtual Bool | SetUniformFloat (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatUniform. More... | |
virtual Bool | SetUniformFloatVector2 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatVector2Uniform. More... | |
virtual Bool | SetUniformFloatVector3 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatVector3Uniform. More... | |
virtual Bool | SetUniformFloatVector4 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatVector4Uniform. More... | |
virtual Bool | SetUniformFloatMatrix2 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatMatrix2Uniform. More... | |
virtual Bool | SetUniformFloatMatrix3 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatMatrix3Uniform. More... | |
virtual Bool | SetUniformFloatMatrix4 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined IFloatMatrix4Uniform. More... | |
virtual Bool | SetUniformSInt32 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined ISInt32Uniform. More... | |
virtual Bool | SetUniformSInt32Vector2 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined ISInt32Vector2Uniform. More... | |
virtual Bool | SetUniformSInt32Vector3 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined ISInt32Vector3Uniform. More... | |
virtual Bool | SetUniformSInt32Vector4 (IEnums::ShaderType shaderType, IEnums::UniformItem item, const void *buffer, const void *data)=0 |
Update the uniform in the program for a predefined ISInt32Vector4Uniform. More... | |
virtual Bool | SetUniformFloat (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatUniform. More... | |
virtual Bool | SetUniformFloatVector2 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatVector2Uniform. More... | |
virtual Bool | SetUniformFloatVector3 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatVector3Uniform. More... | |
virtual Bool | SetUniformFloatVector4 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatVector4Uniform. More... | |
virtual Bool | SetUniformFloatMatrix2 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatMatrix2Uniform. More... | |
virtual Bool | SetUniformFloatMatrix3 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatMatrix3Uniform. More... | |
virtual Bool | SetUniformFloatMatrix4 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific IFloatMatrix4Uniform. More... | |
virtual Bool | SetUniformSInt32 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific ISInt32Uniform. More... | |
virtual Bool | SetUniformSInt32Vector2 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific ISInt32Vector2Uniform. More... | |
virtual Bool | SetUniformSInt32Vector3 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific ISInt32Vector3Uniform. More... | |
virtual Bool | SetUniformSInt32Vector4 (IEnums::ShaderType shaderType, SInt32 id, const void *buffer, const void *data)=0 |
Update the uniform in the program for a specific ISInt32Vector4Uniform. More... | |
virtual Bool | HasAttribute (IEnums::ShaderType shaderType, IEnums::AttributeItem item) const =0 |
Check if a given predefined attribute item is present. More... | |
virtual Bool | HasAttribute (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Check if a specific attribute is present. More... | |
virtual SInt32 | GetAttributeIndex (IEnums::ShaderType shaderType, IEnums::AttributeItem item) const =0 |
Get the index of a given predefined attribute item in the program. More... | |
virtual SInt32 | GetAttributeIndex (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the index of a specific attribute in the program. More... | |
virtual SInt32 | GetAttributeLocation (IEnums::ShaderType shaderType, IEnums::AttributeItem item) const =0 |
Get the location (register number) of a given predefined attribute item in the program. More... | |
virtual SInt32 | GetAttributeLocation (IEnums::ShaderType shaderType, SInt32 id) const =0 |
Get the location (register number) of a specific attribute in the program. More... | |
virtual UInt32 | GetNumberOfAttributes (IEnums::ShaderType shaderType) const =0 |
Get the total number of attributes in the program. More... | |
virtual IEnums::AttributeItem | GetAttributeItem (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the predefined attribute item at a given index. More... | |
virtual IEnums::AttributeType | GetAttributeType (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the data type of an attribute at a given index. More... | |
virtual SInt32 | GetAttributeId (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the unique integer ID of an attribute at a given index. More... | |
virtual const String & | GetAttributeName (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the actual name of an attribute at a given index. More... | |
virtual Bool | SetAttributeFloat (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IFloatAttribute. More... | |
virtual Bool | SetAttributeFloatVector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IFloatVector2Attribute. More... | |
virtual Bool | SetAttributeFloatVector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IFloatVector3Attribute. More... | |
virtual Bool | SetAttributeFloatVector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IFloatVector4Attribute. More... | |
virtual Bool | SetAttributeUInt8 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt8Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeSInt8 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt8Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeUInt16 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt16Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined IUInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeSInt16 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt16Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined ISInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt8Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt8Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt16Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized IUInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt16Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a predefined normalized ISInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeFloat (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IFloatAttribute. More... | |
virtual Bool | SetAttributeFloatVector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IFloatVector2Attribute. More... | |
virtual Bool | SetAttributeFloatVector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IFloatVector3Attribute. More... | |
virtual Bool | SetAttributeFloatVector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IFloatVector4Attribute. More... | |
virtual Bool | SetAttributeUInt8 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt8Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeUInt8Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeSInt8 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt8Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeSInt8Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeUInt16 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt16Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeUInt16Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific IUInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeSInt16 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt16Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeSInt16Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific ISInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt8Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt8Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt8Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt8Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt8Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt8Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt8Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt16Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedUInt16Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized IUInt16Vector4Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt16Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt16Vector2Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt16Vector3Attribute. More... | |
virtual Bool | SetAttributeNormalizedSInt16Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0 |
Update the attribute in the program for a specific normalized ISInt16Vector4Attribute. More... | |
virtual Bool | HasTexture (IEnums::ShaderType shaderType, UInt32 unit) const =0 |
Check if a texture sampler is present at a given unit. More... | |
virtual SInt32 | GetTextureIndex (IEnums::ShaderType shaderType, UInt32 unit) const =0 |
Get the index of a given texture sampler in the program. More... | |
virtual UInt32 | GetNumberOfTextures (IEnums::ShaderType shaderType) const =0 |
Get the total number of texture samplers in the program. More... | |
virtual IEnums::TextureSemantic | GetTextureSemantic (IEnums::ShaderType shaderType, UInt32 index, IEnums::ColorComponent colorComponent) const =0 |
Get the semantic of a sampler for a given index and color component. More... | |
virtual SInt32 | GetTextureUnit (IEnums::ShaderType shaderType, UInt32 index) const =0 |
Get the used texture unit of a sampler at a given index. More... | |
virtual Bool | SetNumberOfTextureUnitsUsed (UInt32 numberOfUnits)=0 |
Set the number of texture units used. More... | |
virtual UInt32 | GetNumberOfTextureUnitsUsed () const =0 |
Get the number of texture units used. More... | |
virtual Bool | SetNumberOfLightUnitsUsed (UInt32 numberOfUnits)=0 |
Set the number of light units used. More... | |
virtual UInt32 | GetNumberOfLightUnitsUsed () const =0 |
Get the number of light units used. More... | |
virtual Bool | SetNumberOfBoneUnitsUsed (UInt32 numberOfUnits)=0 |
Set the number of bone units used. More... | |
virtual UInt32 | GetNumberOfBoneUnitsUsed () const =0 |
Get the number of bone units used. More... | |
virtual SInt32 | GetLightTextureUnit (UInt32 lightUnit) const =0 |
Get the texture unit used together with a given light unit, for rendering projective lights. More... | |
virtual Bool | IsValid () const =0 |
Check if the program is valid. More... | |
virtual const String & | GetLinkerLog () const =0 |
Get the shader linker log. More... | |
|
pure virtual |
Get the mutable Video::IObject interface.
|
pure virtual |
Get the constant Video::IObject interface.
|
pure virtual |
Enable the program.
|
pure virtual |
Disable the program.
Attach the new program to the current GPU program.
currentProgram | The current GPU program. |
|
pure virtual |
Check if the program represents a fixed-function one.
|
pure virtual |
Get a possible branch depending on some constants value.
constants | The constants to check. |
|
pure virtual |
Check if a given predefined constant buffer item is present.
shaderType | The type of the attached shader to check. |
item | The predefined constant buffer item to query. |
|
pure virtual |
Check if a specific constant buffer is present.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the constant buffer to query. |
|
pure virtual |
Get the index of a given predefined constant buffer item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined constant buffer item to retrieve. |
|
pure virtual |
Get the index of a specific constant buffer in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the constant buffer to retrieve. |
|
pure virtual |
Get the location (register number) of a given predefined constant buffer item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined constant buffer item to retrieve. |
|
pure virtual |
Get the location (register number) of a specific constant buffer in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the constant buffer to retrieve. |
|
pure virtual |
Get the total number of constant buffers in the program.
shaderType | The type of the attached shader to check. |
|
pure virtual |
Get the predefined constant buffer item at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1. |
|
pure virtual |
Get the unique integer ID of a constant buffer at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1. |
|
pure virtual |
Get the actual name of a constant buffer at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1. |
|
pure virtual |
Update the constant buffer in the program for a predefined buffer.
shaderType | The type of the attached shader for which to update the buffer. |
item | The predefined constant buffer item. |
buffer | A handle to the constant buffer. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the constant buffer in the program for a specific buffer.
shaderType | The type of the attached shader for which to update the buffer. |
id | The unique integer ID of the constant buffer. |
buffer | A handle to the constant buffer. |
data | The actual buffer data to update with. |
|
pure virtual |
Check if a given predefined uniform item is present.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item to query. |
|
pure virtual |
Check if a specific uniform is present.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform to query. |
|
pure virtual |
Get the index of a given predefined uniform item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item to retrieve. |
|
pure virtual |
Get the index of a specific uniform in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform to retrieve. |
|
pure virtual |
Get the location (register number) of a given predefined uniform item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item to retrieve. |
|
pure virtual |
Get the location (register number) of a specific uniform in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform to retrieve. |
|
pure virtual |
Get the total number of uniforms in the program.
shaderType | The type of the attached shader to check. |
|
pure virtual |
Get the predefined uniform item at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the uniform, from 0 to GetNumberOfUniforms()-1. |
|
pure virtual |
Get the data type of a uniform at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the uniform, from 0 to GetNumberOfUniforms()-1. |
|
pure virtual |
Get the unique integer ID of a uniform at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the uniform, from 0 to GetNumberOfUniforms()-1. |
|
pure virtual |
Get the actual name of a uniform at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the uniform, from 0 to GetNumberOfUniforms()-1. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatUniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatVector2Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatVector3Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatVector4Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatMatrix2Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatMatrix3Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined IFloatMatrix4Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined ISInt32Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined ISInt32Vector2Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined ISInt32Vector3Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a predefined ISInt32Vector4Uniform.
shaderType | The type of the attached shader to check. |
item | The predefined uniform item. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatUniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatVector2Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatVector3Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatVector4Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatMatrix2Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatMatrix3Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific IFloatMatrix4Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific ISInt32Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific ISInt32Vector2Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific ISInt32Vector3Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the uniform in the program for a specific ISInt32Vector4Uniform.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the uniform. |
buffer | A handle to the constant buffer containing the uniform. |
data | The actual buffer data to update with. |
|
pure virtual |
Check if a given predefined attribute item is present.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item to query. |
|
pure virtual |
Check if a specific attribute is present.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute to query. |
|
pure virtual |
Get the index of a given predefined attribute item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item to retrieve. |
|
pure virtual |
Get the index of a specific attribute in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute to retrieve. |
|
pure virtual |
Get the location (register number) of a given predefined attribute item in the program.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item to retrieve. |
|
pure virtual |
Get the location (register number) of a specific attribute in the program.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute to retrieve. |
|
pure virtual |
Get the total number of attributes in the program.
shaderType | The type of the attached shader to check. |
|
pure virtual |
Get the predefined attribute item at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the attribute, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the data type of an attribute at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the attribute, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the unique integer ID of an attribute at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the attribute, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the actual name of an attribute at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the attribute, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Update the attribute in the program for a predefined IFloatAttribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IFloatVector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IFloatVector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IFloatVector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt8Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt8Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt16Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined IUInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt16Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined ISInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt8Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt8Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt16Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized IUInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt16Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a predefined normalized ISInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
item | The predefined attribute item. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IFloatAttribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IFloatVector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IFloatVector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IFloatVector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt8Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt8Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt16Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific IUInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt16Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific ISInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt8Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt8Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt8Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt8Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt8Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt16Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized IUInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt16Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt16Vector2Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt16Vector3Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Update the attribute in the program for a specific normalized ISInt16Vector4Attribute.
shaderType | The type of the attached shader to check. |
id | The unique integer ID of the attribute. |
byteStride | The byte stride of the vertex buffer. |
buffer | A handle to the vertex buffer containing the attribute. |
data | The actual buffer data to update with. |
|
pure virtual |
Check if a texture sampler is present at a given unit.
shaderType | The type of the attached shader to check. |
unit | The texture unit, from 0 to IEnums::NUM_TEXTURE_UNITS-1. |
|
pure virtual |
Get the index of a given texture sampler in the program.
shaderType | The type of the attached shader to check. |
unit | The texture unit, from 0 to IEnums::NUM_TEXTURE_UNITS-1. |
|
pure virtual |
Get the total number of texture samplers in the program.
shaderType | The type of the attached shader to check. |
|
pure virtual |
Get the semantic of a sampler for a given index and color component.
shaderType | The type of the attached shader to check. |
index | The index of the sampler, from 0 to GetNumberOfTextures()-1. |
colorComponent | The color component to query. |
|
pure virtual |
Get the used texture unit of a sampler at a given index.
shaderType | The type of the attached shader to check. |
index | The index of the sampler, from 0 to GetNumberOfTextures()-1. |
|
pure virtual |
Set the number of texture units used.
numberOfUnits | The number of units, from 0 to IEnums::NUM_TEXTURE_UNITS. |
|
pure virtual |
Get the number of texture units used.
Set the number of light units used.
numberOfUnits | The number of units, from 0 to IEnums::NUM_LIGHT_UNITS. |
|
pure virtual |
Get the number of light units used.
Set the number of bone units used.
numberOfUnits | The number of units, from 0 to IEnums::NUM_BONE_UNITS. |
|
pure virtual |
Get the number of bone units used.
Get the texture unit used together with a given light unit, for rendering projective lights.
lightUnit | The light unit to check, from 0 to IEnums::NUM_LIGHT_UNITS-1. |
|
pure virtual |
Check if the program is valid.
If linking of the program object fails, this method returns false.
|
pure virtual |
Get the shader linker log.
If linking of the program object fails, this method returns the output provided by the OS/video API. Otherwise, an empty string is returned.