![]() |
Murl Engine API
Version 2025.1
|
The IVertices video object interface. More...
#include <murl_video_i_vertices.h>
The IVertices video object interface.
This interface represents a container object holding references to one or more individual IVertexBuffer objects.
Used internally by various geometry graph nodes, such as Graph::GenericGeometry, Graph::ResourceMeshGeometry and others.
Public Member Functions | |
| virtual Bool | Enable ()=0 |
| Enable the vertices container. More... | |
| virtual Bool | Disable ()=0 |
| Disable the vertices container. More... | |
| virtual Bool | Set (IProgram *currentProgram)=0 |
| Attach the vertices container to the current GPU program. More... | |
| virtual Bool | SetPrimitiveType (IEnums::PrimitiveType type)=0 |
| Set the primitive type to render, if no index buffer is used. More... | |
| virtual IEnums::PrimitiveType | GetPrimitiveType () const =0 |
| Get the primitive type. More... | |
| virtual SInt32 | AddVertexBuffer (IVertexBuffer *vertexBuffer)=0 |
| Add a single default vertex buffer. More... | |
| virtual SInt32 | AddVertexBuffer (IEnums::VertexBufferItem item, IVertexBuffer *vertexBuffer)=0 |
| Add a single predefined vertex buffer. More... | |
| virtual SInt32 | AddVertexBuffer (SInt32 id, IVertexBuffer *vertexBuffer)=0 |
| Add a single custom vertex buffer, by its unique integer ID in the renderer. More... | |
| virtual SInt32 | AddVertexBuffer (const String &name, IVertexBuffer *vertexBuffer)=0 |
| Add a single custom vertex buffer, by its actual name. More... | |
| virtual Bool | RemoveAllVertexBuffers ()=0 |
| Remove all present vertex buffers from the container. More... | |
| virtual SInt32 | GetVertexBufferIndex (IEnums::VertexBufferItem item) const =0 |
| Get the index of a predefined vertex buffer in the container. More... | |
| virtual SInt32 | GetVertexBufferIndex (SInt32 id) const =0 |
| Get the index of a custom vertex buffer in the container, by its unique integer ID. More... | |
| virtual SInt32 | GetVertexBufferIndex (const String &name) const =0 |
| Get the index of a custom vertex buffer in the container, by its actual name. More... | |
| virtual UInt32 | GetNumberOfVertexBuffers () const =0 |
| Get the total number of individual vertex buffers present in the container. More... | |
| virtual IEnums::VertexBufferItem | GetVertexBufferItem (UInt32 index) const =0 |
| Get the predefined vertex buffer item at a given index. More... | |
| virtual SInt32 | GetVertexBufferId (UInt32 index) const =0 |
| Get the unique integer ID of a vertex buffer at a given index. More... | |
| virtual IVertexBuffer * | GetVertexBuffer (UInt32 index) const =0 |
| Get the vertex buffer at a given index. More... | |
| UInt32 | GetSignature () const override=0 |
| Get the signature, obtained via IRenderer::AcquireVerticesSignature(). More... | |
Public Member Functions inherited from Murl::Video::IDrawable | |
| 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 | Draw ()=0 |
| Draw the object. More... | |
| virtual Bool | IsDynamicBatchingAllowed () const =0 |
| Check if the drawable allows for dynamic batching. More... | |
| virtual Bool | HasDataToDraw () const =0 |
| Check if the drawable is actually containing any geometry data. More... | |
| virtual UInt32 | GetNumberOfBones () const =0 |
| Get the number of bones affecting the drawable. More... | |
|
pure virtual |
Enable the vertices container.
|
pure virtual |
Disable the vertices container.
Attach the vertices container to the current GPU program.
| currentProgram | The current GPU program. |
|
pure virtual |
Set the primitive type to render, if no index buffer is used.
| type | The primitive type. |
|
pure virtual |
Get the primitive type.
|
pure virtual |
Add a single default vertex buffer.
| vertexBuffer | The vertex buffer to add. |
|
pure virtual |
Add a single predefined vertex buffer.
| item | The predefined item. |
| vertexBuffer | The vertex buffer to add. |
|
pure virtual |
Add a single custom vertex buffer, by its unique integer ID in the renderer.
| id | The buffer's unique integer ID. |
| vertexBuffer | The vertex buffer to add. |
|
pure virtual |
Add a single custom vertex buffer, by its actual name.
| name | The buffer name. |
| vertexBuffer | The vertex buffer to add. |
|
pure virtual |
Remove all present vertex buffers from the container.
|
pure virtual |
Get the index of a predefined vertex buffer in the container.
| item | The vertex buffer item to query. |
Get the index of a custom vertex buffer in the container, by its unique integer ID.
| id | The unique integer ID of the vertex buffer to query. |
|
pure virtual |
Get the index of a custom vertex buffer in the container, by its actual name.
| name | The buffer name. |
|
pure virtual |
Get the total number of individual vertex buffers present in the container.
|
pure virtual |
Get the predefined vertex buffer item at a given index.
| index | The index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1. |
Get the unique integer ID of a vertex buffer at a given index.
| index | The index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1. |
|
pure virtual |
Get the vertex buffer at a given index.
| index | The index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1. |
|
overridepure virtual |
Get the signature, obtained via IRenderer::AcquireVerticesSignature().
Implements Murl::Video::IDrawable.