#include <BALL/VIEW/RENDERING/vertexBuffer.h>
Public Types | |
typedef GLuint | Buffer [4] |
Public Member Functions | |
MeshBuffer () | |
MeshBuffer (const MeshBuffer &mesh_buffer) | |
virtual | ~MeshBuffer () |
const MeshBuffer & | operator= (const MeshBuffer &buffer) |
const Mesh * | getMesh () |
Get the Mesh for this buffer object. | |
void | setMesh (const Mesh &mesh) |
Set the Mesh which shall be drawn with this buffer object. | |
bool | initialize () |
Transfer all vertex, normal, index and color data of the mesh into the vertex buffer object. | |
bool | draw () |
Draw the mesh from the buffer. | |
void | clear () |
Unset the mesh pointer and clear the buffer. | |
void | clearBuffer () |
Free the reserved (and filled) vertex buffer. | |
bool | isBusy () const |
Return true, if currently updateing or drawing. | |
Static Public Member Functions | |
static bool | initGL () |
static void | setGLRenderer (GLRenderer *renderer) |
Protected Attributes | |
const Mesh * | mesh_ |
Buffer | buffer_ |
bool | filled_ |
bool | busy_ |
bool | multiple_colors_ |
ColorRGBA | color_ |
Size | vertices_ |
Size | triangles_ |
Static Protected Attributes | |
static GLRenderer * | gl_renderer_ |
Wrapper class to draw BALLView Mesh instances with OpenGL vertex buffer objects. Vertex Buffer Objects are an OpenGL extension available since OpenGL version 1.5.
typedef GLuint BALL::VIEW::MeshBuffer::Buffer[4] |
BALL::VIEW::MeshBuffer::MeshBuffer | ( | ) |
BALL::VIEW::MeshBuffer::MeshBuffer | ( | const MeshBuffer & | mesh_buffer | ) |
virtual BALL::VIEW::MeshBuffer::~MeshBuffer | ( | ) | [virtual] |
void BALL::VIEW::MeshBuffer::clear | ( | ) |
Unset the mesh pointer and clear the buffer.
void BALL::VIEW::MeshBuffer::clearBuffer | ( | ) |
Free the reserved (and filled) vertex buffer.
bool BALL::VIEW::MeshBuffer::draw | ( | ) |
Draw the mesh from the buffer.
static bool BALL::VIEW::MeshBuffer::initGL | ( | ) | [static] |
Initialise the GL needed methods. Call this method one time after having a valid GL context (e.g. in GLRenderer::init).
bool BALL::VIEW::MeshBuffer::initialize | ( | ) |
Transfer all vertex, normal, index and color data of the mesh into the vertex buffer object.
bool BALL::VIEW::MeshBuffer::isBusy | ( | ) | const [inline] |
Return true, if currently updateing or drawing.
const MeshBuffer& BALL::VIEW::MeshBuffer::operator= | ( | const MeshBuffer & | buffer | ) |
static void BALL::VIEW::MeshBuffer::setGLRenderer | ( | GLRenderer * | renderer | ) | [inline, static] |
Set the GLRender. This GLRender pointer is used to know if to draw the mesh transparent solid or transparent, as solid triangles or as points. Meshes can currently not drawn in wireframe mode with vertex buffer.
void BALL::VIEW::MeshBuffer::setMesh | ( | const Mesh & | mesh | ) | [inline] |
Set the Mesh which shall be drawn with this buffer object.
Buffer BALL::VIEW::MeshBuffer::buffer_ [protected] |
bool BALL::VIEW::MeshBuffer::busy_ [protected] |
ColorRGBA BALL::VIEW::MeshBuffer::color_ [protected] |
bool BALL::VIEW::MeshBuffer::filled_ [protected] |
GLRenderer* BALL::VIEW::MeshBuffer::gl_renderer_ [static, protected] |
const Mesh* BALL::VIEW::MeshBuffer::mesh_ [protected] |
bool BALL::VIEW::MeshBuffer::multiple_colors_ [protected] |
Size BALL::VIEW::MeshBuffer::triangles_ [protected] |
Size BALL::VIEW::MeshBuffer::vertices_ [protected] |