Pyrogenesis  trunk
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
VertexArray Class Reference

#include <VertexArray.h>

Inheritance diagram for VertexArray:
Inheritance graph
[legend]
Collaboration diagram for VertexArray:
Collaboration graph
[legend]

Classes

struct  Attribute
 

Public Member Functions

 VertexArray (const Renderer::Backend::IBuffer::Type type, const bool dynamic)
 
 ~VertexArray ()
 
void SetNumberOfVertices (const size_t numberOfVertices)
 
void AddAttribute (Attribute *attr)
 
size_t GetNumberOfVertices () const
 
uint32_t GetStride () const
 
void Layout ()
 
void Upload ()
 
void PrepareForRendering ()
 
void UploadIfNeeded (Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
 
void FreeBackingStore ()
 
Renderer::Backend::IBufferGetBuffer ()
 
uint32_t GetOffset () const
 

Private Member Functions

void Free ()
 
template<typename T >
VertexArrayIterator< TMakeIterator (const Attribute *attr)
 

Private Attributes

Renderer::Backend::IBuffer::Type m_Type
 
bool m_Dynamic
 
size_t m_NumberOfVertices
 
std::vector< Attribute * > m_Attributes
 
CVertexBufferManager::Handle m_VB
 
uint32_t m_Stride
 
char * m_BackingStore
 

Constructor & Destructor Documentation

◆ VertexArray()

VertexArray::VertexArray ( const Renderer::Backend::IBuffer::Type  type,
const bool  dynamic 
)

◆ ~VertexArray()

VertexArray::~VertexArray ( )

Member Function Documentation

◆ AddAttribute()

void VertexArray::AddAttribute ( Attribute attr)

◆ Free()

void VertexArray::Free ( )
private

◆ FreeBackingStore()

void VertexArray::FreeBackingStore ( )

◆ GetBuffer()

Renderer::Backend::IBuffer* VertexArray::GetBuffer ( )
inline

◆ GetNumberOfVertices()

size_t VertexArray::GetNumberOfVertices ( ) const
inline

◆ GetOffset()

uint32_t VertexArray::GetOffset ( ) const
inline

◆ GetStride()

uint32_t VertexArray::GetStride ( ) const
inline

◆ Layout()

void VertexArray::Layout ( )

◆ MakeIterator()

template<typename T >
VertexArrayIterator<T> VertexArray::MakeIterator ( const Attribute attr)
inlineprivate

◆ PrepareForRendering()

void VertexArray::PrepareForRendering ( )

◆ SetNumberOfVertices()

void VertexArray::SetNumberOfVertices ( const size_t  numberOfVertices)

◆ Upload()

void VertexArray::Upload ( )

◆ UploadIfNeeded()

void VertexArray::UploadIfNeeded ( Renderer::Backend::IDeviceCommandContext deviceCommandContext)

Member Data Documentation

◆ m_Attributes

std::vector<Attribute*> VertexArray::m_Attributes
private

◆ m_BackingStore

char* VertexArray::m_BackingStore
private

◆ m_Dynamic

bool VertexArray::m_Dynamic
private

◆ m_NumberOfVertices

size_t VertexArray::m_NumberOfVertices
private

◆ m_Stride

uint32_t VertexArray::m_Stride
private

◆ m_Type

Renderer::Backend::IBuffer::Type VertexArray::m_Type
private

◆ m_VB

CVertexBufferManager::Handle VertexArray::m_VB
private

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