The IProgram video object interface. More...

#include "murl_video_i_program.h"

Inherited by Murl::Video::Program, and Murl::Video::Vulkan::ShaderProgram.

Public Member Functions

virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () 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 IProgramGetBranch (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 StringGetConstantBufferName (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 StringGetUniformName (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 StringGetAttributeName (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 SetAttributeUInt32 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined IUInt32Attribute. More...
 
virtual Bool SetAttributeUInt32Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined IUInt32Vector2Attribute. More...
 
virtual Bool SetAttributeUInt32Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined IUInt32Vector3Attribute. More...
 
virtual Bool SetAttributeUInt32Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined IUInt32Vector4Attribute. More...
 
virtual Bool SetAttributeSInt32 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined ISInt32Attribute. More...
 
virtual Bool SetAttributeSInt32Vector2 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined ISInt32Vector2Attribute. More...
 
virtual Bool SetAttributeSInt32Vector3 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined ISInt32Vector3Attribute. More...
 
virtual Bool SetAttributeSInt32Vector4 (IEnums::ShaderType shaderType, IEnums::AttributeItem item, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a predefined ISInt32Vector4Attribute. 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 SetAttributeUInt32 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific IUInt32Attribute. More...
 
virtual Bool SetAttributeUInt32Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific IUInt32Vector2Attribute. More...
 
virtual Bool SetAttributeUInt32Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific IUInt32Vector3Attribute. More...
 
virtual Bool SetAttributeUInt32Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific IUInt32Vector4Attribute. More...
 
virtual Bool SetAttributeSInt32 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific ISInt32Attribute. More...
 
virtual Bool SetAttributeSInt32Vector2 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific ISInt32Vector2Attribute. More...
 
virtual Bool SetAttributeSInt32Vector3 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific ISInt32Vector3Attribute. More...
 
virtual Bool SetAttributeSInt32Vector4 (IEnums::ShaderType shaderType, SInt32 id, UInt32 byteStride, const void *buffer, const void *data)=0
 Update the attribute in the program for a specific ISInt32Vector4Attribute. 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 StringGetLinkerLog () const =0
 Get the shader linker log. More...
 

Detailed Description

The IProgram video object interface.

This interface represents a GPU program used during rendering.

Used internally by Graph::FixedProgram and Graph::ShaderProgram.

Member Function Documentation

◆ GetObjectInterface() [1/2]

virtual IObject* Murl::Video::IProgram::GetObjectInterface ( )
pure virtual

Get the mutable Video::IObject interface.

Returns
The IObject interface.

◆ GetObjectInterface() [2/2]

virtual const IObject* Murl::Video::IProgram::GetObjectInterface ( ) const
pure virtual

Get the constant Video::IObject interface.

Returns
The IObject interface.

◆ Enable()

virtual Bool Murl::Video::IProgram::Enable ( )
pure virtual

Enable the program.

Returns
true if successful.

◆ Disable()

virtual Bool Murl::Video::IProgram::Disable ( )
pure virtual

Disable the program.

Returns
true if successful.

◆ Set()

virtual Bool Murl::Video::IProgram::Set ( IProgram currentProgram)
pure virtual

Attach the new program to the current GPU program.

Parameters
currentProgramThe current GPU program.
Returns
true if successful.

◆ UsesFixedTechnique()

virtual Bool Murl::Video::IProgram::UsesFixedTechnique ( ) const
pure virtual

Check if the program represents a fixed-function one.

Returns
true if the program represents a fixed-function one.

◆ GetBranch()

virtual IProgram* Murl::Video::IProgram::GetBranch ( const IConstants constants)
pure virtual

Get a possible branch depending on some constants value.

Parameters
constantsThe constants to check.
Returns
A program branch, or this if not depending on any value.

◆ HasConstantBuffer() [1/2]

virtual Bool Murl::Video::IProgram::HasConstantBuffer ( IEnums::ShaderType  shaderType,
IEnums::ConstantBufferItem  item 
) const
pure virtual

Check if a given predefined constant buffer item is present.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined constant buffer item to query.
Returns
true if present.

◆ HasConstantBuffer() [2/2]

virtual Bool Murl::Video::IProgram::HasConstantBuffer ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Check if a specific constant buffer is present.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the constant buffer to query.
Returns
true if present.

◆ GetConstantBufferIndex() [1/2]

virtual SInt32 Murl::Video::IProgram::GetConstantBufferIndex ( IEnums::ShaderType  shaderType,
IEnums::ConstantBufferItem  item 
) const
pure virtual

Get the index of a given predefined constant buffer item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined constant buffer item to retrieve.
Returns
The zero-based index of the constant buffer, or -1 if not found.

◆ GetConstantBufferIndex() [2/2]

virtual SInt32 Murl::Video::IProgram::GetConstantBufferIndex ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the index of a specific constant buffer in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the constant buffer to retrieve.
Returns
The zero-based index of the constant buffer, or -1 if not found.

◆ GetConstantBufferLocation() [1/2]

virtual SInt32 Murl::Video::IProgram::GetConstantBufferLocation ( IEnums::ShaderType  shaderType,
IEnums::ConstantBufferItem  item 
) const
pure virtual

Get the location (register number) of a given predefined constant buffer item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined constant buffer item to retrieve.
Returns
The location of the constant buffer, or -1 if not found.

◆ GetConstantBufferLocation() [2/2]

virtual SInt32 Murl::Video::IProgram::GetConstantBufferLocation ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the location (register number) of a specific constant buffer in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the constant buffer to retrieve.
Returns
The location of the constant buffer, or -1 if not found.

◆ GetNumberOfConstantBuffers()

virtual UInt32 Murl::Video::IProgram::GetNumberOfConstantBuffers ( IEnums::ShaderType  shaderType) const
pure virtual

Get the total number of constant buffers in the program.

Parameters
shaderTypeThe type of the attached shader to check.
Returns
The number of constant buffers.

◆ GetConstantBufferItem()

virtual IEnums::ConstantBufferItem Murl::Video::IProgram::GetConstantBufferItem ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the predefined constant buffer item at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The item, or IEnums::CONSTANT_BUFFER_ITEM_CUSTOM if the index is out of range.

◆ GetConstantBufferId()

virtual SInt32 Murl::Video::IProgram::GetConstantBufferId ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the unique integer ID of a constant buffer at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The unique ID, or -1 if the index is out of range.

◆ GetConstantBufferName()

virtual const String& Murl::Video::IProgram::GetConstantBufferName ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the actual name of a constant buffer at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the constant buffer, from 0 to GetNumberOfConstantBuffers()-1.
Returns
The name, or an empty string if the index is out of range.

◆ SetConstantBuffer() [1/2]

virtual Bool Murl::Video::IProgram::SetConstantBuffer ( IEnums::ShaderType  shaderType,
IEnums::ConstantBufferItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the constant buffer in the program for a predefined buffer.

Parameters
shaderTypeThe type of the attached shader for which to update the buffer.
itemThe predefined constant buffer item.
bufferA handle to the constant buffer.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetConstantBuffer() [2/2]

virtual Bool Murl::Video::IProgram::SetConstantBuffer ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the constant buffer in the program for a specific buffer.

Parameters
shaderTypeThe type of the attached shader for which to update the buffer.
idThe unique integer ID of the constant buffer.
bufferA handle to the constant buffer.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ HasUniform() [1/2]

virtual Bool Murl::Video::IProgram::HasUniform ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item 
) const
pure virtual

Check if a given predefined uniform item is present.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item to query.
Returns
true if present.

◆ HasUniform() [2/2]

virtual Bool Murl::Video::IProgram::HasUniform ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Check if a specific uniform is present.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform to query.
Returns
true if present.

◆ GetUniformIndex() [1/2]

virtual SInt32 Murl::Video::IProgram::GetUniformIndex ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item 
) const
pure virtual

Get the index of a given predefined uniform item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item to retrieve.
Returns
The zero-based index of the uniform, or -1 if not found.

◆ GetUniformIndex() [2/2]

virtual SInt32 Murl::Video::IProgram::GetUniformIndex ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the index of a specific uniform in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform to retrieve.
Returns
The zero-based index of the uniform, or -1 if not found.

◆ GetUniformLocation() [1/2]

virtual SInt32 Murl::Video::IProgram::GetUniformLocation ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item 
) const
pure virtual

Get the location (register number) of a given predefined uniform item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item to retrieve.
Returns
The location of the uniform, or -1 if not found.

◆ GetUniformLocation() [2/2]

virtual SInt32 Murl::Video::IProgram::GetUniformLocation ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the location (register number) of a specific uniform in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform to retrieve.
Returns
The location of the uniform, or -1 if not found.

◆ GetNumberOfUniforms()

virtual UInt32 Murl::Video::IProgram::GetNumberOfUniforms ( IEnums::ShaderType  shaderType) const
pure virtual

Get the total number of uniforms in the program.

Parameters
shaderTypeThe type of the attached shader to check.
Returns
The number of uniforms.

◆ GetUniformItem()

virtual IEnums::UniformItem Murl::Video::IProgram::GetUniformItem ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the predefined uniform item at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the uniform, from 0 to GetNumberOfUniforms()-1.
Returns
The item, or IEnums::UNIFORM_ITEM_CUSTOM if the index is out of range.

◆ GetUniformType()

virtual IEnums::UniformType Murl::Video::IProgram::GetUniformType ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the data type of a uniform at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the uniform, from 0 to GetNumberOfUniforms()-1.
Returns
The data type, or IEnums::UNIFORM_TYPE_UNDEFINED if the index is out of range.

◆ GetUniformId()

virtual SInt32 Murl::Video::IProgram::GetUniformId ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the unique integer ID of a uniform at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the uniform, from 0 to GetNumberOfUniforms()-1.
Returns
The unique ID, or -1 if the index is out of range.

◆ GetUniformName()

virtual const String& Murl::Video::IProgram::GetUniformName ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the actual name of a uniform at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the uniform, from 0 to GetNumberOfUniforms()-1.
Returns
The name, or an empty string if the index is out of range.

◆ SetUniformFloat() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloat ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatUniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector2() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector2 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatVector2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector3() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector3 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatVector3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector4() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector4 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatVector4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix2() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix2 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatMatrix2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix3() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix3 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatMatrix3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix4() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix4 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined IFloatMatrix4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined ISInt32Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector2 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined ISInt32Vector2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector3 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined ISInt32Vector3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector4 ( IEnums::ShaderType  shaderType,
IEnums::UniformItem  item,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a predefined ISInt32Vector4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined uniform item.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloat() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloat ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatUniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector2() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatVector2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector3() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatVector3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatVector4() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatVector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatVector4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix2() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix2 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatMatrix2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix3() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix3 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatMatrix3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformFloatMatrix4() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformFloatMatrix4 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific IFloatMatrix4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific ISInt32Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific ISInt32Vector2Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific ISInt32Vector3Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetUniformSInt32Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetUniformSInt32Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
const void *  buffer,
const void *  data 
)
pure virtual

Update the uniform in the program for a specific ISInt32Vector4Uniform.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the uniform.
bufferA handle to the constant buffer containing the uniform.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ HasAttribute() [1/2]

virtual Bool Murl::Video::IProgram::HasAttribute ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item 
) const
pure virtual

Check if a given predefined attribute item is present.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item to query.
Returns
true if present.

◆ HasAttribute() [2/2]

virtual Bool Murl::Video::IProgram::HasAttribute ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Check if a specific attribute is present.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute to query.
Returns
true if present.

◆ GetAttributeIndex() [1/2]

virtual SInt32 Murl::Video::IProgram::GetAttributeIndex ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item 
) const
pure virtual

Get the index of a given predefined attribute item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item to retrieve.
Returns
The zero-based index of the attribute, or -1 if not found.

◆ GetAttributeIndex() [2/2]

virtual SInt32 Murl::Video::IProgram::GetAttributeIndex ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the index of a specific attribute in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute to retrieve.
Returns
The zero-based index of the attribute, or -1 if not found.

◆ GetAttributeLocation() [1/2]

virtual SInt32 Murl::Video::IProgram::GetAttributeLocation ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item 
) const
pure virtual

Get the location (register number) of a given predefined attribute item in the program.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item to retrieve.
Returns
The location of the attribute, or -1 if not found.

◆ GetAttributeLocation() [2/2]

virtual SInt32 Murl::Video::IProgram::GetAttributeLocation ( IEnums::ShaderType  shaderType,
SInt32  id 
) const
pure virtual

Get the location (register number) of a specific attribute in the program.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute to retrieve.
Returns
The location of the attribute, or -1 if not found.

◆ GetNumberOfAttributes()

virtual UInt32 Murl::Video::IProgram::GetNumberOfAttributes ( IEnums::ShaderType  shaderType) const
pure virtual

Get the total number of attributes in the program.

Parameters
shaderTypeThe type of the attached shader to check.
Returns
The number of attributes.

◆ GetAttributeItem()

virtual IEnums::AttributeItem Murl::Video::IProgram::GetAttributeItem ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the predefined attribute item at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the attribute, from 0 to GetNumberOfAttributes()-1.
Returns
The item, or IEnums::ATTRIBUTE_ITEM_CUSTOM if the index is out of range.

◆ GetAttributeType()

virtual IEnums::AttributeType Murl::Video::IProgram::GetAttributeType ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the data type of an attribute at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the attribute, from 0 to GetNumberOfAttributes()-1.
Returns
The data type, or IEnums::ATTRIBUTE_TYPE_UNDEFINED if the index is out of range.

◆ GetAttributeId()

virtual SInt32 Murl::Video::IProgram::GetAttributeId ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the unique integer ID of an attribute at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the attribute, from 0 to GetNumberOfAttributes()-1.
Returns
The unique ID, or -1 if the index is out of range.

◆ GetAttributeName()

virtual const String& Murl::Video::IProgram::GetAttributeName ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the actual name of an attribute at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the attribute, from 0 to GetNumberOfAttributes()-1.
Returns
The name, or an empty string if the index is out of range.

◆ SetAttributeFloat() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloat ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IFloatAttribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IFloatVector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IFloatVector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IFloatVector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt32Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt32Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt32Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined IUInt32Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt32Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt32Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt32Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined ISInt32Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized IUInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector2() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector2 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector3() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector3 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector4() [1/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector4 ( IEnums::ShaderType  shaderType,
IEnums::AttributeItem  item,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a predefined normalized ISInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
itemThe predefined attribute item.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloat() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloat ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IFloatAttribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IFloatVector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IFloatVector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeFloatVector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeFloatVector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IFloatVector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt8Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt8Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt8Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt8Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt16Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt16Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt16Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt16Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt32Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt32Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt32Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeUInt32Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeUInt32Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific IUInt32Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt32Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt32Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt32Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeSInt32Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeSInt32Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific ISInt32Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt8Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt8Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt8Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt8Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt8Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt8Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt8Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt8Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedUInt16Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedUInt16Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized IUInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt16Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector2() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector2 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt16Vector2Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector3() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector3 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt16Vector3Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ SetAttributeNormalizedSInt16Vector4() [2/2]

virtual Bool Murl::Video::IProgram::SetAttributeNormalizedSInt16Vector4 ( IEnums::ShaderType  shaderType,
SInt32  id,
UInt32  byteStride,
const void *  buffer,
const void *  data 
)
pure virtual

Update the attribute in the program for a specific normalized ISInt16Vector4Attribute.

Parameters
shaderTypeThe type of the attached shader to check.
idThe unique integer ID of the attribute.
byteStrideThe byte stride of the vertex buffer.
bufferA handle to the vertex buffer containing the attribute.
dataThe actual buffer data to update with.
Returns
true if successful.

◆ HasTexture()

virtual Bool Murl::Video::IProgram::HasTexture ( IEnums::ShaderType  shaderType,
UInt32  unit 
) const
pure virtual

Check if a texture sampler is present at a given unit.

Parameters
shaderTypeThe type of the attached shader to check.
unitThe texture unit, from 0 to IEnums::NUM_TEXTURE_UNITS-1.
Returns
true if present.

◆ GetTextureIndex()

virtual SInt32 Murl::Video::IProgram::GetTextureIndex ( IEnums::ShaderType  shaderType,
UInt32  unit 
) const
pure virtual

Get the index of a given texture sampler in the program.

Parameters
shaderTypeThe type of the attached shader to check.
unitThe texture unit, from 0 to IEnums::NUM_TEXTURE_UNITS-1.
Returns
The zero-based index of the sampler, or -1 if not present.

◆ GetNumberOfTextures()

virtual UInt32 Murl::Video::IProgram::GetNumberOfTextures ( IEnums::ShaderType  shaderType) const
pure virtual

Get the total number of texture samplers in the program.

Parameters
shaderTypeThe type of the attached shader to check.
Returns
The number of samplers.

◆ GetTextureSemantic()

virtual IEnums::TextureSemantic Murl::Video::IProgram::GetTextureSemantic ( IEnums::ShaderType  shaderType,
UInt32  index,
IEnums::ColorComponent  colorComponent 
) const
pure virtual

Get the semantic of a sampler for a given index and color component.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the sampler, from 0 to GetNumberOfTextures()-1.
colorComponentThe color component to query.
Returns
The semantic, or IEnums::TEXTURE_SEMANTIC_UNDEFINED if the index is out of range.

◆ GetTextureUnit()

virtual SInt32 Murl::Video::IProgram::GetTextureUnit ( IEnums::ShaderType  shaderType,
UInt32  index 
) const
pure virtual

Get the used texture unit of a sampler at a given index.

Parameters
shaderTypeThe type of the attached shader to check.
indexThe index of the sampler, from 0 to GetNumberOfTextures()-1.
Returns
The unit, or -1 if the index is out of range.

◆ SetNumberOfTextureUnitsUsed()

virtual Bool Murl::Video::IProgram::SetNumberOfTextureUnitsUsed ( UInt32  numberOfUnits)
pure virtual

Set the number of texture units used.

Parameters
numberOfUnitsThe number of units, from 0 to IEnums::NUM_TEXTURE_UNITS.
Returns
true if successful.

◆ GetNumberOfTextureUnitsUsed()

virtual UInt32 Murl::Video::IProgram::GetNumberOfTextureUnitsUsed ( ) const
pure virtual

Get the number of texture units used.

Returns
The number of units.

◆ SetNumberOfLightUnitsUsed()

virtual Bool Murl::Video::IProgram::SetNumberOfLightUnitsUsed ( UInt32  numberOfUnits)
pure virtual

Set the number of light units used.

Parameters
numberOfUnitsThe number of units, from 0 to IEnums::NUM_LIGHT_UNITS.
Returns
true if successful.

◆ GetNumberOfLightUnitsUsed()

virtual UInt32 Murl::Video::IProgram::GetNumberOfLightUnitsUsed ( ) const
pure virtual

Get the number of light units used.

Returns
The number of units.

◆ SetNumberOfBoneUnitsUsed()

virtual Bool Murl::Video::IProgram::SetNumberOfBoneUnitsUsed ( UInt32  numberOfUnits)
pure virtual

Set the number of bone units used.

Parameters
numberOfUnitsThe number of units, from 0 to IEnums::NUM_BONE_UNITS.
Returns
true if successful.

◆ GetNumberOfBoneUnitsUsed()

virtual UInt32 Murl::Video::IProgram::GetNumberOfBoneUnitsUsed ( ) const
pure virtual

Get the number of bone units used.

Returns
The number of units.

◆ GetLightTextureUnit()

virtual SInt32 Murl::Video::IProgram::GetLightTextureUnit ( UInt32  lightUnit) const
pure virtual

Get the texture unit used together with a given light unit, for rendering projective lights.

Parameters
lightUnitThe light unit to check, from 0 to IEnums::NUM_LIGHT_UNITS-1.
Returns
The texture unit, or -1 if projective lights are not used.

◆ IsValid()

virtual Bool Murl::Video::IProgram::IsValid ( ) const
pure virtual

Check if the program is valid.

If linking of the program object fails, this method returns false.

Returns
true if program linking succeeded during initialization.

◆ GetLinkerLog()

virtual const String& Murl::Video::IProgram::GetLinkerLog ( ) const
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.

Returns
The linker log message.

The documentation for this interface was generated from the following file:
  • murl_video_i_program.h


Copyright © 2011-2024 Spraylight GmbH.