Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | Static Public Attributes | List of all members
om::graphics::materials::VertexBindingData Class Reference

A class that stores the input vertex data for a shader program. More...

#include <omGraphicsVertexBindingData.h>

Public Member Functions

 VertexBindingData ()
 Create a new shader binding data object with no allocated data. More...
 
 VertexBindingData (Size vertexBufferCapacity)
 Create a new shader binding data object with the specified initial capacity for each data type. More...
 
Size getVertexBufferCount () const
 Return an pointer to the internal array of shader vertex buffers. More...
 
VertexBuffer ** getVertexBuffers ()
 Return a pointer to the internal array of shader vertex buffers. More...
 
VertexBuffer *const * getVertexBuffers () const
 Return a const pointer to the internal array of shader vertex buffers. More...
 
VertexBuffer ** allocateVertexBuffers (Size buffersToAdd)
 Allocate the specified number of vertex buffers for this shader binding data and return a pointer to the buffer storage. More...
 
void clearVertexBuffers ()
 Remove all stored vertex buffers from this shader binding data object. More...
 
Size getMinimumVertexBufferCapacity () const
 Return the smallest number of elements that are in any vertex buffer that is part of this shader pass. More...
 
void setData (const VertexBindingData &other)
 Copy all data from the other vertex binding data object into this one. More...
 

Static Public Attributes

static const Size DEFAULT_BUFFER_ARRAY_SIZE = 2
 The default size of a shader pass's buffer array. More...
 

Detailed Description

A class that stores the input vertex data for a shader program.

Constructor & Destructor Documentation

om::graphics::materials::VertexBindingData::VertexBindingData ( )

Create a new shader binding data object with no allocated data.

om::graphics::materials::VertexBindingData::VertexBindingData ( Size  vertexBufferCapacity)

Create a new shader binding data object with the specified initial capacity for each data type.

Member Function Documentation

Size om::graphics::materials::VertexBindingData::getVertexBufferCount ( ) const
inline

Return an pointer to the internal array of shader vertex buffers.

VertexBuffer** om::graphics::materials::VertexBindingData::getVertexBuffers ( )
inline

Return a pointer to the internal array of shader vertex buffers.

VertexBuffer* const* om::graphics::materials::VertexBindingData::getVertexBuffers ( ) const
inline

Return a const pointer to the internal array of shader vertex buffers.

VertexBuffer** om::graphics::materials::VertexBindingData::allocateVertexBuffers ( Size  buffersToAdd)
inline

Allocate the specified number of vertex buffers for this shader binding data and return a pointer to the buffer storage.

void om::graphics::materials::VertexBindingData::clearVertexBuffers ( )
inline

Remove all stored vertex buffers from this shader binding data object.

Size om::graphics::materials::VertexBindingData::getMinimumVertexBufferCapacity ( ) const
inline

Return the smallest number of elements that are in any vertex buffer that is part of this shader pass.

If there are no vertex buffers attached, 0 is returned. This method can be used to make sure that a shader pass has enough vertex data for a particular draw call or index buffer.

void om::graphics::materials::VertexBindingData::setData ( const VertexBindingData other)

Copy all data from the other vertex binding data object into this one.

Member Data Documentation

const Size om::graphics::materials::VertexBindingData::DEFAULT_BUFFER_ARRAY_SIZE = 2
static

The default size of a shader pass's buffer array.


The documentation for this class was generated from the following file: