Concrete vertex buffer class for cpu subvision and OpenGL drawing. More...
#include <cpuGLVertexBuffer.h>
Public Member Functions | |
~CpuGLVertexBuffer () | |
Destructor. More... | |
void | UpdateData (const float *src, int startVertex, int numVertices, void *deviceContext=NULL) |
int | GetNumElements () const |
Returns how many elements defined in this vertex buffer. More... | |
int | GetNumVertices () const |
Returns how many vertices allocated in this vertex buffer. More... | |
float * | BindCpuBuffer () |
GLuint | BindVBO (void *deviceContext=NULL) |
Static Public Member Functions | |
static CpuGLVertexBuffer * | Create (int numElements, int numVertices, void *deviceContext=NULL) |
Creator. Returns NULL if error. More... | |
Protected Member Functions | |
CpuGLVertexBuffer (int numElements, int numVertices) | |
Constructor. More... | |
bool | allocate () |
Allocates VBO for this buffer. Returns true if success. More... | |
Concrete vertex buffer class for cpu subvision and OpenGL drawing.
CpuGLVertexBuffer implements CpuVertexBufferInterface and GLVertexBufferInterface.
The buffer interop between Cpu and GL is handled automatically when a client calls BindCpuBuffer and BindVBO methods.
Definition at line 47 of file cpuGLVertexBuffer.h.
~CpuGLVertexBuffer | ( | ) |
Destructor.
|
protected |
Constructor.
|
protected |
Allocates VBO for this buffer. Returns true if success.
float* BindCpuBuffer | ( | ) |
Returns cpu memory. GL buffer will be mapped to cpu address if necessary.
GLuint BindVBO | ( | void * | deviceContext = NULL | ) |
Returns the name of GL buffer object. If the buffer is mapped to cpu address, it will be unmapped back to GL.
|
static |
Creator. Returns NULL if error.
int GetNumElements | ( | ) | const |
Returns how many elements defined in this vertex buffer.
int GetNumVertices | ( | ) | const |
Returns how many vertices allocated in this vertex buffer.
void UpdateData | ( | const float * | src, |
int | startVertex, | ||
int | numVertices, | ||
void * | deviceContext = NULL |
||
) |
This method is meant to be used in client code in order to provide coarse vertices data to Osd.