The IVertices video object interface. More...

#include "murl_video_i_vertices.h"

Inheritance diagram for Murl::Video::IVertices:

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 IVertexBufferGetVertexBuffer (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...
 
- Public Member Functions inherited from Murl::Video::IDrawable
virtual IObjectGetObjectInterface ()=0
 Get the mutable Video::IObject interface. More...
 
virtual const IObjectGetObjectInterface () 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...
 

Detailed Description

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.

Member Function Documentation

◆ Enable()

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

Enable the vertices container.

Returns
true if successful.

◆ Disable()

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

Disable the vertices container.

Returns
true if successful.

◆ Set()

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

Attach the vertices container to the current GPU program.

Parameters
currentProgramThe current GPU program.
Returns
true if successful.

◆ SetPrimitiveType()

virtual Bool Murl::Video::IVertices::SetPrimitiveType ( IEnums::PrimitiveType  type)
pure virtual

Set the primitive type to render, if no index buffer is used.

Parameters
typeThe primitive type.
Returns
true if successful.

◆ GetPrimitiveType()

virtual IEnums::PrimitiveType Murl::Video::IVertices::GetPrimitiveType ( ) const
pure virtual

Get the primitive type.

Returns
The primitive type.

◆ AddVertexBuffer() [1/4]

virtual SInt32 Murl::Video::IVertices::AddVertexBuffer ( IVertexBuffer vertexBuffer)
pure virtual

Add a single default vertex buffer.

Parameters
vertexBufferThe vertex buffer to add.
Returns
The zero-based index of the vertex buffer in the container, or -1 if failed.

◆ AddVertexBuffer() [2/4]

virtual SInt32 Murl::Video::IVertices::AddVertexBuffer ( IEnums::VertexBufferItem  item,
IVertexBuffer vertexBuffer 
)
pure virtual

Add a single predefined vertex buffer.

Parameters
itemThe predefined item.
vertexBufferThe vertex buffer to add.
Returns
The zero-based index of the vertex buffer in the container, or -1 if failed.

◆ AddVertexBuffer() [3/4]

virtual SInt32 Murl::Video::IVertices::AddVertexBuffer ( SInt32  id,
IVertexBuffer vertexBuffer 
)
pure virtual

Add a single custom vertex buffer, by its unique integer ID in the renderer.

Parameters
idThe buffer's unique integer ID.
vertexBufferThe vertex buffer to add.
Returns
The zero-based index of the vertex buffer in the container, or -1 if failed.

◆ AddVertexBuffer() [4/4]

virtual SInt32 Murl::Video::IVertices::AddVertexBuffer ( const String name,
IVertexBuffer vertexBuffer 
)
pure virtual

Add a single custom vertex buffer, by its actual name.

Parameters
nameThe buffer name.
vertexBufferThe vertex buffer to add.
Returns
The zero-based index of the vertex buffer in the container, or -1 if failed.

◆ RemoveAllVertexBuffers()

virtual Bool Murl::Video::IVertices::RemoveAllVertexBuffers ( )
pure virtual

Remove all present vertex buffers from the container.

Returns
true if successful.

◆ GetVertexBufferIndex() [1/3]

virtual SInt32 Murl::Video::IVertices::GetVertexBufferIndex ( IEnums::VertexBufferItem  item) const
pure virtual

Get the index of a predefined vertex buffer in the container.

Parameters
itemThe vertex buffer item to query.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetVertexBufferIndex() [2/3]

virtual SInt32 Murl::Video::IVertices::GetVertexBufferIndex ( SInt32  id) const
pure virtual

Get the index of a custom vertex buffer in the container, by its unique integer ID.

Parameters
idThe unique integer ID of the vertex buffer to query.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetVertexBufferIndex() [3/3]

virtual SInt32 Murl::Video::IVertices::GetVertexBufferIndex ( const String name) const
pure virtual

Get the index of a custom vertex buffer in the container, by its actual name.

Parameters
nameThe buffer name.
Returns
The zero-based index of the buffer, or -1 if not found.

◆ GetNumberOfVertexBuffers()

virtual UInt32 Murl::Video::IVertices::GetNumberOfVertexBuffers ( ) const
pure virtual

Get the total number of individual vertex buffers present in the container.

Returns
The number of vertex buffers present.

◆ GetVertexBufferItem()

virtual IEnums::VertexBufferItem Murl::Video::IVertices::GetVertexBufferItem ( UInt32  index) const
pure virtual

Get the predefined vertex buffer item at a given index.

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1.
Returns
The predefined buffer item, or IEnums::VERTEX_BUFFER_ITEM_CUSTOM if the index is out of range.

◆ GetVertexBufferId()

virtual SInt32 Murl::Video::IVertices::GetVertexBufferId ( UInt32  index) const
pure virtual

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

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1.
Returns
The unique ID, or -1 if the index is out of range.

◆ GetVertexBuffer()

virtual IVertexBuffer* Murl::Video::IVertices::GetVertexBuffer ( UInt32  index) const
pure virtual

Get the vertex buffer at a given index.

Parameters
indexThe index of the buffer to query, from 0 to GetNumberOfVertexBuffers()-1.
Returns
The buffer, or null if the index is out of range.

◆ GetSignature()

virtual UInt32 Murl::Video::IVertices::GetSignature ( ) const
pure virtual

Get the signature, obtained via IRenderer::AcquireVerticesSignature().

Returns
The buffer signature.

Implements Murl::Video::IDrawable.


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


Copyright © 2011-2018 Spraylight GmbH.