Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
VertexArray Class Reference

#include <VertexArray.h>

Inheritance diagram for VertexArray:
VertexIndexArray

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 ()
 
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
 

Detailed Description

Definition at line 132 of file VertexArray.h.

Constructor & Destructor Documentation

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

Definition at line 32 of file VertexArray.cpp.

VertexArray::~VertexArray ( )

Definition at line 44 of file VertexArray.cpp.

Member Function Documentation

void VertexArray::AddAttribute ( Attribute attr)

Definition at line 75 of file VertexArray.cpp.

u8 * VertexArray::Bind ( )

Definition at line 294 of file VertexArray.cpp.

void VertexArray::Free ( )
private

Definition at line 50 of file VertexArray.cpp.

void VertexArray::FreeBackingStore ( )

Definition at line 306 of file VertexArray.cpp.

size_t VertexArray::GetNumVertices ( ) const
inline

Definition at line 168 of file VertexArray.h.

size_t VertexArray::GetStride ( ) const
inline

Definition at line 169 of file VertexArray.h.

void VertexArray::Layout ( )

Definition at line 220 of file VertexArray.cpp.

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

Definition at line 190 of file VertexArray.h.

void VertexArray::SetNumVertices ( size_t  num)

Definition at line 64 of file VertexArray.cpp.

void VertexArray::Upload ( )

Definition at line 279 of file VertexArray.cpp.

Member Data Documentation

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

Definition at line 199 of file VertexArray.h.

char* VertexArray::m_BackingStore
private

Definition at line 203 of file VertexArray.h.

size_t VertexArray::m_NumVertices
private

Definition at line 198 of file VertexArray.h.

size_t VertexArray::m_Stride
private

Definition at line 202 of file VertexArray.h.

GLenum VertexArray::m_Target
private

Definition at line 197 of file VertexArray.h.

GLenum VertexArray::m_Usage
private

Definition at line 196 of file VertexArray.h.

CVertexBuffer::VBChunk* VertexArray::m_VB
private

Definition at line 201 of file VertexArray.h.


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