![]() |
Murl Engine API
Version 2018.3
|
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... | |
virtual UInt32 | GetSignature () const =0 |
Get the signature, obtained via IRenderer::AcquireVerticesSignature(). More... | |
![]() | |
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. |
|
pure virtual |
Get the signature, obtained via IRenderer::AcquireVerticesSignature().
Implements Murl::Video::IDrawable.