![]() |
Murl Engine API
Version 2018.3
|
The IVertexBuffer video object interface. More...
#include <murl_video_i_vertex_buffer.h>
The IVertexBuffer video object interface.
This interface represents a buffer containing geometry vertices.
Used internally by various geometry graph nodes, such as Graph::PlaneGeometry, Graph::ResourceMeshGeometry and others.
Inherited by Murl::Video::VertexBuffer.
Public Member Functions | |
virtual IObject * | GetObjectInterface ()=0 |
Get the mutable Video::IObject interface. More... | |
virtual const IObject * | GetObjectInterface () const =0 |
Get the constant Video::IObject interface. More... | |
virtual Bool | Set (IProgram *currentProgram, SInt32 id, UInt32 unit)=0 |
Attach the vertex buffer to the current GPU program. More... | |
virtual Bool | SetDynamicBatchingAllowed (Bool allowed)=0 |
Allow/disallow dynamic batching. More... | |
virtual Bool | IsDynamicBatchingAllowed () const =0 |
Check if the buffer allows for dynamic batching. More... | |
virtual Bool | SetAccessMode (IEnums::BufferAccessMode mode)=0 |
Set the access mode hint (read only or read/write). More... | |
virtual IEnums::BufferAccessMode | GetAccessMode () const =0 |
Get the access mode hint. More... | |
virtual Bool | SetNumberOfBones (UInt32 numberOfBones)=0 |
Set the number of bones affecting the vertex buffer. More... | |
virtual UInt32 | GetNumberOfBones () const =0 |
Get the number of bones affecting the vertex buffer. More... | |
virtual Bool | SetVertexData (void *vertices, UInt32 maxNumberOfVertices, UInt32 byteStride)=0 |
Assign a mutable source data storage. More... | |
virtual Bool | SetVertexData (const void *vertices, UInt32 maxNumberOfVertices, UInt32 byteStride)=0 |
Assign a constant source data storage. More... | |
virtual Bool | SetNumberOfVertices (UInt32 numberOfVertices)=0 |
Set the actual number of vertices used. More... | |
virtual Bool | SetVerticesModified ()=0 |
Mark the whole buffer as modified. More... | |
virtual Bool | SetVerticesModified (UInt32 firstVertex, UInt32 numberOfVertices)=0 |
Mark a sub-region of the buffer as modified. More... | |
virtual void * | GetVertexData ()=0 |
Get a pointer to the mutable source data, if available. More... | |
virtual const void * | GetVertexData () const =0 |
Get a pointer to the constant source data. More... | |
virtual void * | GetVertexBufferData ()=0 |
Get a pointer to the actual mutable buffer data. More... | |
virtual const void * | GetVertexBufferData () const =0 |
Get a pointer to the actual constant buffer data. More... | |
virtual UInt32 | GetMaxNumberOfVertices () const =0 |
Get the maximum number of vertices the buffer can hold. More... | |
virtual UInt32 | GetNumberOfVertices () const =0 |
Get the actual number of vertices used. More... | |
virtual UInt32 | GetByteStride () const =0 |
Get the byte stride, i.e. More... | |
virtual Bool | AreVerticesModified () const =0 |
Check if the buffer contents are modified. More... | |
virtual SInt32 | AddAttribute (IEnums::AttributeItem item, IEnums::AttributeType type, UInt32 &byteOffset)=0 |
Add a single predefined attribute variable. More... | |
virtual SInt32 | AddAttribute (SInt32 id, IEnums::AttributeType type, UInt32 &byteOffset)=0 |
Add a single custom attribute variable, by its unique integer ID in the renderer. More... | |
virtual SInt32 | AddAttribute (const String &name, IEnums::AttributeType type, UInt32 &byteOffset)=0 |
Add a single custom attribute variable, by its actual name. More... | |
virtual Bool | RemoveAllAttributes ()=0 |
Remove all present attribute variables from the buffer. More... | |
virtual SInt32 | GetAttributeIndex (IEnums::AttributeItem item) const =0 |
Get the index of a predefined attribute variable in the buffer. More... | |
virtual SInt32 | GetAttributeIndex (SInt32 id) const =0 |
Get the index of a custom attribute variable in the buffer, by its unique integer ID. More... | |
virtual SInt32 | GetAttributeIndex (const String &name) const =0 |
Get the index of a custom attribute variable in the buffer, by its actual name. More... | |
virtual UInt32 | GetNumberOfAttributes () const =0 |
Get the total number of individual attribute variables present in the buffer. More... | |
virtual IEnums::AttributeType | GetAttributeType (UInt32 index) const =0 |
Get the data type of an attribute variable at a given index. More... | |
virtual IEnums::AttributeItem | GetAttributeItem (UInt32 index) const =0 |
Get the predefined attribute variable item at a given index. More... | |
virtual SInt32 | GetAttributeId (UInt32 index) const =0 |
Get the unique integer ID of an attribute variable at a given index. More... | |
virtual UInt32 | GetAttributeByteOffset (UInt32 index) const =0 |
Get the byte offset of an attribute variable relative to the buffer start. More... | |
virtual IAttribute * | GetAttribute (UInt32 index) const =0 |
Get the generic attribute variable at a given index. More... | |
virtual IFloatAttribute * | GetFloatAttribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IFloatAttribute. More... | |
virtual IFloatVector2Attribute * | GetFloatVector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IFloatVector2Attribute. More... | |
virtual IFloatVector3Attribute * | GetFloatVector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IFloatVector3Attribute. More... | |
virtual IFloatVector4Attribute * | GetFloatVector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IFloatVector4Attribute. More... | |
virtual IUInt8Attribute * | GetUInt8Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt8Attribute. More... | |
virtual IUInt8Vector2Attribute * | GetUInt8Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt8Vector2Attribute. More... | |
virtual IUInt8Vector3Attribute * | GetUInt8Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt8Vector3Attribute. More... | |
virtual IUInt8Vector4Attribute * | GetUInt8Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt8Vector4Attribute. More... | |
virtual ISInt8Attribute * | GetSInt8Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt8Attribute. More... | |
virtual ISInt8Vector2Attribute * | GetSInt8Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt8Vector2Attribute. More... | |
virtual ISInt8Vector3Attribute * | GetSInt8Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt8Vector3Attribute. More... | |
virtual ISInt8Vector4Attribute * | GetSInt8Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt8Vector4Attribute. More... | |
virtual IUInt16Attribute * | GetUInt16Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt16Attribute. More... | |
virtual IUInt16Vector2Attribute * | GetUInt16Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt16Vector2Attribute. More... | |
virtual IUInt16Vector3Attribute * | GetUInt16Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt16Vector3Attribute. More... | |
virtual IUInt16Vector4Attribute * | GetUInt16Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an IUInt16Vector4Attribute. More... | |
virtual ISInt16Attribute * | GetSInt16Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt16Attribute. More... | |
virtual ISInt16Vector2Attribute * | GetSInt16Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt16Vector2Attribute. More... | |
virtual ISInt16Vector3Attribute * | GetSInt16Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt16Vector3Attribute. More... | |
virtual ISInt16Vector4Attribute * | GetSInt16Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as an ISInt16Vector4Attribute. More... | |
virtual IUInt8Attribute * | GetNormalizedUInt8Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt8Attribute. More... | |
virtual IUInt8Vector2Attribute * | GetNormalizedUInt8Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt8Vector2Attribute. More... | |
virtual IUInt8Vector3Attribute * | GetNormalizedUInt8Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt8Vector3Attribute. More... | |
virtual IUInt8Vector4Attribute * | GetNormalizedUInt8Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt8Vector4Attribute. More... | |
virtual ISInt8Attribute * | GetNormalizedSInt8Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt8Attribute. More... | |
virtual ISInt8Vector2Attribute * | GetNormalizedSInt8Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt8Vector2Attribute. More... | |
virtual ISInt8Vector3Attribute * | GetNormalizedSInt8Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt8Vector3Attribute. More... | |
virtual ISInt8Vector4Attribute * | GetNormalizedSInt8Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt8Vector4Attribute. More... | |
virtual IUInt16Attribute * | GetNormalizedUInt16Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt16Attribute. More... | |
virtual IUInt16Vector2Attribute * | GetNormalizedUInt16Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt16Vector2Attribute. More... | |
virtual IUInt16Vector3Attribute * | GetNormalizedUInt16Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt16Vector3Attribute. More... | |
virtual IUInt16Vector4Attribute * | GetNormalizedUInt16Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized IUInt16Vector4Attribute. More... | |
virtual ISInt16Attribute * | GetNormalizedSInt16Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt16Attribute. More... | |
virtual ISInt16Vector2Attribute * | GetNormalizedSInt16Vector2Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt16Vector2Attribute. More... | |
virtual ISInt16Vector3Attribute * | GetNormalizedSInt16Vector3Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt16Vector3Attribute. More... | |
virtual ISInt16Vector4Attribute * | GetNormalizedSInt16Vector4Attribute (UInt32 index) const =0 |
Get the attribute variable at a given index as a normalized ISInt16Vector4Attribute. More... | |
virtual Bool | IsInVideoMemory () const =0 |
Check if the actual buffer resides in video memory. More... | |
virtual UInt32 | GetSignature () const =0 |
Get the signature, obtained via IRenderer::AcquireVertexBufferSignature(). More... | |
|
pure virtual |
Get the mutable Video::IObject interface.
|
pure virtual |
Get the constant Video::IObject interface.
|
pure virtual |
Attach the vertex buffer to the current GPU program.
currentProgram | The current GPU program. |
id | The unique integer ID of the vertex buffer in the renderer. |
unit | The vertex buffer unit. |
Allow/disallow dynamic batching.
allowed | If true, dynamic batching is allowed. |
|
pure virtual |
Check if the buffer allows for dynamic batching.
|
pure virtual |
Set the access mode hint (read only or read/write).
mode | The access mode. |
|
pure virtual |
Get the access mode hint.
Set the number of bones affecting the vertex buffer.
numberOfBones | The number of bones needed. |
|
pure virtual |
Get the number of bones affecting the vertex buffer.
|
pure virtual |
Assign a mutable source data storage.
vertices | A pointer to the mutable buffer holding the source vertices. |
maxNumberOfVertices | The maximum number of vertices the buffer can hold. |
byteStride | The buffer stride, i.e. the size of a single vertex entry in bytes. |
|
pure virtual |
Assign a constant source data storage.
vertices | A pointer to the constant buffer holding the source vertices. |
maxNumberOfVertices | The maximum number of vertices the buffer can hold. |
byteStride | The buffer stride, i.e. the size of a single vertex entry in bytes. |
|
pure virtual |
Set the actual number of vertices used.
numberOfVertices | The actual number of vertices. Must be less or equal than the maximum number defined via SetVertexData(). |
|
pure virtual |
Mark the whole buffer as modified.
|
pure virtual |
Mark a sub-region of the buffer as modified.
firstVertex | The first modified vertex in the buffer. |
numberOfVertices | The number of modified vertices. |
|
pure virtual |
Get a pointer to the mutable source data, if available.
If the source data storage was defined using a constant pointer, this method returns null.
|
pure virtual |
Get a pointer to the constant source data.
|
pure virtual |
Get a pointer to the actual mutable buffer data.
|
pure virtual |
Get a pointer to the actual constant buffer data.
|
pure virtual |
Get the maximum number of vertices the buffer can hold.
|
pure virtual |
Get the actual number of vertices used.
|
pure virtual |
Get the byte stride, i.e.
the size of a single vertex entry in bytes.
|
pure virtual |
Check if the buffer contents are modified.
|
pure virtual |
Add a single predefined attribute variable.
item | The predefined item. |
type | The attribute data type. |
byteOffset | The offset in bytes of the attribute's location within the actual buffer data. |
|
pure virtual |
Add a single custom attribute variable, by its unique integer ID in the renderer.
id | The attribute's unique integer ID. |
type | The attribute data type. |
byteOffset | The offset in bytes of the attribute's location within the actual buffer data. |
|
pure virtual |
Add a single custom attribute variable, by its actual name.
name | The attribute variable name. |
type | The attribute data type. |
byteOffset | The offset in bytes of the attribute's location within the actual buffer data. |
|
pure virtual |
Remove all present attribute variables from the buffer.
|
pure virtual |
Get the index of a predefined attribute variable in the buffer.
item | The attribute item to query. |
Get the index of a custom attribute variable in the buffer, by its unique integer ID.
id | The unique integer ID of the variable to query. |
|
pure virtual |
Get the index of a custom attribute variable in the buffer, by its actual name.
name | The attribute variable name to query. |
|
pure virtual |
Get the total number of individual attribute variables present in the buffer.
|
pure virtual |
Get the data type of an attribute variable at a given index.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the predefined attribute variable item at a given index.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
Get the unique integer ID of an attribute variable at a given index.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the byte offset of an attribute variable relative to the buffer start.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the generic attribute variable at a given index.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IFloatAttribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IFloatVector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IFloatVector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IFloatVector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt8Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt8Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt8Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt8Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt8Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt8Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt8Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt8Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt16Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt16Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt16Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an IUInt16Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt16Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt16Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt16Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as an ISInt16Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt8Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt8Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt8Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt8Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt8Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt8Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt8Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt8Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt16Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt16Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt16Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized IUInt16Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt16Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt16Vector2Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt16Vector3Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Get the attribute variable at a given index as a normalized ISInt16Vector4Attribute.
index | The index of the variable to query, from 0 to GetNumberOfAttributes()-1. |
|
pure virtual |
Check if the actual buffer resides in video memory.
|
pure virtual |
Get the signature, obtained via IRenderer::AcquireVertexBufferSignature().