KGLLib
Public Member Functions | Protected Member Functions
KGLLib::GeometryBufferVertexArray Class Reference

GeometryBuffer that uses vertex arrays. More...

#include <geometrybuffer.h>

Inheritance diagram for KGLLib::GeometryBufferVertexArray:
KGLLib::GeometryBuffer KGLLib::GeometryBufferVBO

List of all members.

Public Member Functions

 GeometryBufferVertexArray (const GeometryBufferFormat &format)
virtual bool bind ()
virtual bool unbind ()
virtual void renderIndexed (int indices, int offset)
virtual void render (int vertices, int offset)
virtual void addIndices (unsigned int *indices, int count, int offset=0)

Protected Member Functions

 GeometryBufferVertexArray (const GeometryBufferFormat &format, bool createArrays)
virtual void createArrays ()
virtual void addData (void *data, int size, int offset)

Detailed Description

GeometryBuffer that uses vertex arrays.

This is used on hardware that does not support VBOs (vertex buffer objects).


Constructor & Destructor Documentation

KGLLib::GeometryBufferVertexArray::GeometryBufferVertexArray ( const GeometryBufferFormat format)

Member Function Documentation

void KGLLib::GeometryBufferVertexArray::addData ( void *  data,
int  size,
int  offset 
) [protected, virtual]

Writes data to the internal buffer.

Parameters:
datapointer to the data
sizesize of the data in bytes
offsetoffset of the internal buffer in bytes

Implements KGLLib::GeometryBuffer.

Reimplemented in KGLLib::GeometryBufferVBO.

void KGLLib::GeometryBufferVertexArray::addIndices ( unsigned int *  indices,
int  count,
int  offset = 0 
) [virtual]

Sets the indices array to indices. The array must contain at least count entries (if it contains more, then the remaining ones will be unused).

Implements KGLLib::GeometryBuffer.

Reimplemented in KGLLib::GeometryBufferVBO.

bool KGLLib::GeometryBufferVertexArray::bind ( ) [virtual]

Binds the buffer. The buffer must be bound before you can use any of the render methods.

See also:
unbind()

Reimplemented from KGLLib::GeometryBuffer.

Reimplemented in KGLLib::GeometryBufferVBO.

void KGLLib::GeometryBufferVertexArray::render ( int  vertices,
int  offset 
) [virtual]

Renders a subset of non-indexed buffer data. The buffer must be bound (by calling the bind() method) before it can be used.

Parameters:
indicesnumber of vertices to use.
offsetarray index of the first vertex to use.
See also:
render(), renderIndexed(), bind(), unbind()

Implements KGLLib::GeometryBuffer.

void KGLLib::GeometryBufferVertexArray::renderIndexed ( int  indices,
int  offset 
) [virtual]

Renders a subset of indexed buffer data. The buffer must be bound (by calling the bind() method) before it can be used.

Parameters:
indicesnumber of indices to use.
offsetarray index of the first index to use.
See also:
render(), render(int, int), bind(), unbind()

Implements KGLLib::GeometryBuffer.

bool KGLLib::GeometryBufferVertexArray::unbind ( ) [virtual]

Unbinds the buffer.

See also:
bind()

Reimplemented from KGLLib::GeometryBuffer.

Reimplemented in KGLLib::GeometryBufferVBO.

Referenced by KGLLib::GeometryBufferVBO::unbind().


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