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 (GLenum usage, GLenum target=GL_ARRAY_BUFFER)
 
 ~VertexArray ()
 
void SetNumVertices (size_t num)
 
void AddAttribute (Attribute *attr)
 
size_t GetNumVertices () const
 
size_t GetStride () const
 
void Layout ()
 
void Upload ()
 
void PrepareForRendering ()
 
u8Bind ()
 
void FreeBackingStore ()
 

Private Member Functions

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

Private Attributes

GLenum m_Usage
 
GLenum m_Target
 
size_t m_NumVertices
 
std::vector< Attribute * > m_Attributes
 
CVertexBuffer::VBChunkm_VB
 
size_t m_Stride
 
char * m_BackingStore
 

Constructor & Destructor Documentation

VertexArray::VertexArray ( GLenum  usage,
GLenum  target = GL_ARRAY_BUFFER 
)
VertexArray::~VertexArray ( )

Member Function Documentation

void VertexArray::AddAttribute ( Attribute attr)
u8 * VertexArray::Bind ( )
void VertexArray::Free ( )
private
void VertexArray::FreeBackingStore ( )
size_t VertexArray::GetNumVertices ( ) const
inline
size_t VertexArray::GetStride ( ) const
inline
void VertexArray::Layout ( )
template<typename T >
VertexArrayIterator<T> VertexArray::MakeIterator ( const Attribute attr)
inlineprivate
void VertexArray::PrepareForRendering ( )
void VertexArray::SetNumVertices ( size_t  num)
void VertexArray::Upload ( )

Member Data Documentation

std::vector<Attribute*> VertexArray::m_Attributes
private
char* VertexArray::m_BackingStore
private
size_t VertexArray::m_NumVertices
private
size_t VertexArray::m_Stride
private
GLenum VertexArray::m_Target
private
GLenum VertexArray::m_Usage
private
CVertexBuffer::VBChunk* VertexArray::m_VB
private

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