Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

renderer
Class CVertexBuffer

   in VertexBuffer.h
   in VertexBuffer.cpp

class CVertexBuffer


Inner Classes, Typedefs, and Enums
struct CVertexBuffer::Batch
          
struct CVertexBuffer::VBChunk
          
 
Field Summary
private std::vector< CVertexBuffer::Batch* > m_Batches
          
private bool m_Dynamic
          
private std::vector< CVertexBuffer::Batch* > m_FreeBatches
          
private std::list< CVertexBuffer::VBChunk* > m_FreeList
          
private size_t m_FreeVertices
          
private GLuint m_Handle
          
private size_t m_MaxVertices
          
private u8* m_SysMem
          
private size_t m_VertexSize
          
 
Constructor Summary
CVertexBuffer( size_t vertexSize, bool dynamic )
          CVertexBuffer destructor
~CVertexBuffer()
          Allocate: try to allocate a buffer of given number of vertices (each of given size), with the given type, and using the given texture - return null if no free chunks available
 
Method Summary
protected CVertexBuffer::VBChunk* Allocate( size_t vertexSize, size_t numVertices, bool dynamic )
          Release: return given chunk to this buffer
 void AppendBatch( CVertexBuffer::VBChunk* UNUSED( chunk ), Handle texture, size_t numIndices, u16* indices )
          UpdateChunkVertices: update vertex data for given chunk
 u8* Bind()
          
 void ClearBatchIndices()
          AppendBatch: add a batch to the render list for this buffer
 const std::vector< CVertexBuffer::Batch* >& GetBatches() const
          
 size_t GetVertexSize() const
          
protected void Release( CVertexBuffer::VBChunk* chunk )
          ClearBatchIndices: clear lists of all batches
 static void Shutdown()
          CVertexBuffer constructor
 void UpdateChunkVertices( CVertexBuffer::VBChunk* chunk, void* data )
          Bind: bind to this buffer; return pointer to address required as parameter to glVertexPointer ( + etc) calls
 

Field Detail

m_Batches

private std::vector< CVertexBuffer::Batch* > m_Batches;

m_Dynamic

private bool m_Dynamic;

m_FreeBatches

private std::vector< CVertexBuffer::Batch* > m_FreeBatches;

m_FreeList

private std::list< CVertexBuffer::VBChunk* > m_FreeList;

m_FreeVertices

private size_t m_FreeVertices;

m_Handle

private GLuint m_Handle;

m_MaxVertices

private size_t m_MaxVertices;

m_SysMem

private u8* m_SysMem;

m_VertexSize

private size_t m_VertexSize;


Constructor Detail

CVertexBuffer

public CVertexBuffer( size_t vertexSize, bool dynamic );
CVertexBuffer destructor

~CVertexBuffer

public ~CVertexBuffer();
Allocate: try to allocate a buffer of given number of vertices (each of given size), with the given type, and using the given texture - return null if no free chunks available


Method Detail

Allocate

protected CVertexBuffer::VBChunk* Allocate( size_t vertexSize, size_t numVertices, bool dynamic );
Release: return given chunk to this buffer

AppendBatch

public void AppendBatch( CVertexBuffer::VBChunk* UNUSED( chunk ), Handle texture, size_t numIndices, u16* indices );
UpdateChunkVertices: update vertex data for given chunk

Bind

public u8* Bind();

ClearBatchIndices

public void ClearBatchIndices();
AppendBatch: add a batch to the render list for this buffer

GetBatches

public const std::vector< CVertexBuffer::Batch* >& GetBatches() const;

GetVertexSize

public size_t GetVertexSize() const;

Release

protected void Release( CVertexBuffer::VBChunk* chunk );
ClearBatchIndices: clear lists of all batches

Shutdown

public static void Shutdown();
CVertexBuffer constructor

UpdateChunkVertices

public void UpdateChunkVertices( CVertexBuffer::VBChunk* chunk, void* data );
Bind: bind to this buffer; return pointer to address required as parameter to glVertexPointer ( + etc) calls

 Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
Generated on September 04, 2007 at 18:13
CppDoc v2.4.0
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD