Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
The GLBufferObject class is a Buffer that can upload its data on the GPU memory. More...
#include <GLBufferObject.hpp>
Public Member Functions | |
| GLBufferObject () | |
| GLBufferObject (const GLBufferObject &other) | |
| GLBufferObject & | operator= (const GLBufferObject &other) |
| void | swap (GLBufferObject &other) |
| ~GLBufferObject () | |
| void | setHandle (unsigned int handle) |
| unsigned int | handle () const |
| GLsizeiptr | byteCountGPU () const |
| void | createGLBufferObject () |
| void | deleteGLBufferObject () |
| void | downloadGLBufferObject () |
| void | setBufferData (EGLBufferUsage usage, bool discard_local_storage=false) |
| void | setBufferSubData (GLintptr offset=0, GLsizeiptr byte_count=-1, bool discard_local_storage=false) |
| void | setBufferData (GLsizeiptr byte_count, const GLvoid *data, EGLBufferUsage usage) |
| void | setBufferSubData (GLintptr offset, GLsizeiptr byte_count, const GLvoid *data) |
| void * | mapGPUBuffer (EGLBufferAccess access) |
| bool | unmapGPUBuffer () |
| EGLBufferUsage | usage () const |
Protected Attributes | |
| unsigned int | mHandle |
| GLsizeiptr | mByteCountGPU |
| EGLBufferUsage | mUsage |
The GLBufferObject class is a Buffer that can upload its data on the GPU memory.
Definition at line 55 of file GLBufferObject.hpp.
| vl::GLBufferObject::GLBufferObject | ( | ) | [inline] |
Definition at line 60 of file GLBufferObject.hpp.
References vl::BU_STATIC_DRAW, mByteCountGPU, mHandle, mUsage, and VL_DEBUG_SET_OBJECT_NAME.
| vl::GLBufferObject::GLBufferObject | ( | const GLBufferObject & | other ) | [inline] |
Definition at line 68 of file GLBufferObject.hpp.
References vl::BU_STATIC_DRAW, mByteCountGPU, mHandle, mUsage, and VL_DEBUG_SET_OBJECT_NAME.
| vl::GLBufferObject::~GLBufferObject | ( | ) | [inline] |
Definition at line 105 of file GLBufferObject.hpp.
References deleteGLBufferObject().
| GLBufferObject& vl::GLBufferObject::operator= | ( | const GLBufferObject & | other ) | [inline] |
Definition at line 79 of file GLBufferObject.hpp.
References deleteGLBufferObject().
| void vl::GLBufferObject::swap | ( | GLBufferObject & | other ) | [inline] |
Definition at line 87 of file GLBufferObject.hpp.
References mByteCountGPU, mHandle, and mUsage.
| void vl::GLBufferObject::setHandle | ( | unsigned int | handle ) | [inline] |
Definition at line 110 of file GLBufferObject.hpp.
| unsigned int vl::GLBufferObject::handle | ( | ) | const [inline] |
Definition at line 112 of file GLBufferObject.hpp.
References mHandle.
Referenced by vl::OpenGLContext::bindVAS(), createGLBufferObject(), vl::Texture::createTexture(), deleteGLBufferObject(), downloadGLBufferObject(), mapGPUBuffer(), vl::readPixels(), vl::DrawPixels::render_Implementation(), setBufferData(), setBufferSubData(), setHandle(), and unmapGPUBuffer().
| GLsizeiptr vl::GLBufferObject::byteCountGPU | ( | ) | const [inline] |
Definition at line 114 of file GLBufferObject.hpp.
References mByteCountGPU.
Referenced by downloadGLBufferObject(), setBufferSubData(), and vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >::sizeGPU().
| void vl::GLBufferObject::createGLBufferObject | ( | ) | [inline] |
Definition at line 116 of file GLBufferObject.hpp.
References handle(), vl::Has_VBO, mByteCountGPU, mHandle, and VL_CHECK.
Referenced by mapGPUBuffer(), setBufferData(), setBufferSubData(), and unmapGPUBuffer().
| void vl::GLBufferObject::deleteGLBufferObject | ( | ) | [inline] |
Definition at line 130 of file GLBufferObject.hpp.
References handle(), mByteCountGPU, and mHandle.
Referenced by vl::Array< T_VectorType, T_Scalar, T_GL_Size, T_GL_Type >::clear(), vl::Geometry::deleteVBOs(), operator=(), and ~GLBufferObject().
| void vl::GLBufferObject::downloadGLBufferObject | ( | ) | [inline] |
Definition at line 140 of file GLBufferObject.hpp.
References byteCountGPU(), vl::GBA_READ_ONLY, handle(), mapGPUBuffer(), vl::Buffer::ptr(), vl::Buffer::resize(), and unmapGPUBuffer().
| void vl::GLBufferObject::setBufferData | ( | EGLBufferUsage | usage, |
| bool | discard_local_storage = false |
||
| ) | [inline] |
Definition at line 153 of file GLBufferObject.hpp.
References vl::Buffer::bytesUsed(), vl::Buffer::clear(), mUsage, vl::Buffer::ptr(), and usage().
Referenced by vl::readPixels(), and vl::ArrayAbstract::updateVBO().
| void vl::GLBufferObject::setBufferSubData | ( | GLintptr | offset = 0, |
| GLsizeiptr | byte_count = -1, |
||
| bool | discard_local_storage = false |
||
| ) | [inline] |
Definition at line 163 of file GLBufferObject.hpp.
References byteCountGPU(), vl::Buffer::clear(), and vl::Buffer::ptr().
| void vl::GLBufferObject::setBufferData | ( | GLsizeiptr | byte_count, |
| const GLvoid * | data, | ||
| EGLBufferUsage | usage | ||
| ) | [inline] |
Definition at line 173 of file GLBufferObject.hpp.
References createGLBufferObject(), handle(), vl::Has_VBO, mByteCountGPU, mUsage, usage(), VL_CHECK, and VL_CHECK_OGL.
| void vl::GLBufferObject::setBufferSubData | ( | GLintptr | offset, |
| GLsizeiptr | byte_count, | ||
| const GLvoid * | data | ||
| ) | [inline] |
Definition at line 191 of file GLBufferObject.hpp.
References createGLBufferObject(), handle(), vl::Has_VBO, and VL_CHECK.
| void* vl::GLBufferObject::mapGPUBuffer | ( | EGLBufferAccess | access ) | [inline] |
Definition at line 205 of file GLBufferObject.hpp.
References createGLBufferObject(), handle(), vl::Has_VBO, NULL, vl::Buffer::ptr(), VL_CHECK, and VL_CHECK_OGL.
Referenced by downloadGLBufferObject().
| bool vl::GLBufferObject::unmapGPUBuffer | ( | ) | [inline] |
Definition at line 226 of file GLBufferObject.hpp.
References createGLBufferObject(), handle(), vl::Has_VBO, VL_CHECK, and VL_CHECK_OGL.
Referenced by downloadGLBufferObject().
| EGLBufferUsage vl::GLBufferObject::usage | ( | ) | const [inline] |
Definition at line 241 of file GLBufferObject.hpp.
References mUsage.
Referenced by vl::readPixels(), and setBufferData().
unsigned int vl::GLBufferObject::mHandle [protected] |
Definition at line 244 of file GLBufferObject.hpp.
Referenced by createGLBufferObject(), deleteGLBufferObject(), GLBufferObject(), handle(), setHandle(), and swap().
GLsizeiptr vl::GLBufferObject::mByteCountGPU [protected] |
Definition at line 245 of file GLBufferObject.hpp.
Referenced by byteCountGPU(), createGLBufferObject(), deleteGLBufferObject(), GLBufferObject(), setBufferData(), and swap().
EGLBufferUsage vl::GLBufferObject::mUsage [protected] |
Definition at line 246 of file GLBufferObject.hpp.
Referenced by GLBufferObject(), setBufferData(), swap(), and usage().