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

#include <VertexBufferManager.h>

Public Member Functions

CVertexBuffer::VBChunkAllocate (size_t vertexSize, size_t numVertices, GLenum usage, GLenum target)
 Try to allocate a vertex buffer of the given size and type. More...
 
void Release (CVertexBuffer::VBChunk *chunk)
 Returns the given chunk to its owning buffer. More...
 
const std::list< CVertexBuffer * > & GetBufferList () const
 Returns a list of all buffers. More...
 
size_t GetBytesReserved ()
 
size_t GetBytesAllocated ()
 
size_t GetMaxBufferSize () const
 Returns the maximum possible size of a single vertex buffer. More...
 
void Shutdown ()
 Explicit shutdown of the vertex buffer subsystem; releases all currently-allocated buffers. More...
 

Private Attributes

std::list< CVertexBuffer * > m_Buffers
 List of all known vertex buffers. More...
 

Detailed Description

Definition at line 30 of file VertexBufferManager.h.

Member Function Documentation

CVertexBuffer::VBChunk * CVertexBufferManager::Allocate ( size_t  vertexSize,
size_t  numVertices,
GLenum  usage,
GLenum  target 
)

Try to allocate a vertex buffer of the given size and type.

Parameters
vertexSizesize of each vertex in the buffer
numVerticesnumber of vertices in the buffer
usagetypically GL_STATIC_DRAW or GL_DYNAMIC_DRAW
targettypically GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER
Returns
chunk, or NULL if no free chunks available

Definition at line 50 of file VertexBufferManager.cpp.

const std::list<CVertexBuffer*>& CVertexBufferManager::GetBufferList ( ) const
inline

Returns a list of all buffers.

Definition at line 49 of file VertexBufferManager.h.

size_t CVertexBufferManager::GetBytesAllocated ( )

Definition at line 119 of file VertexBufferManager.cpp.

size_t CVertexBufferManager::GetBytesReserved ( )

Definition at line 108 of file VertexBufferManager.cpp.

size_t CVertexBufferManager::GetMaxBufferSize ( ) const
inline

Returns the maximum possible size of a single vertex buffer.

Definition at line 55 of file VertexBufferManager.h.

void CVertexBufferManager::Release ( CVertexBuffer::VBChunk chunk)

Returns the given chunk to its owning buffer.

Definition at line 98 of file VertexBufferManager.cpp.

void CVertexBufferManager::Shutdown ( void  )

Explicit shutdown of the vertex buffer subsystem; releases all currently-allocated buffers.

Definition at line 37 of file VertexBufferManager.cpp.

Member Data Documentation

std::list<CVertexBuffer*> CVertexBufferManager::m_Buffers
private

List of all known vertex buffers.

Definition at line 62 of file VertexBufferManager.h.


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