# Visualization Library A lightweight C++ OpenGL middleware for 2D/3D graphics | [Home] [Tutorials] [All Classes] [Grouped Classes]

# vl::GLBufferObject Class Reference

The GLBufferObject class is a Buffer that can upload its data on the GPU memory. More...

`#include <GLBufferObject.hpp>`

Inheritance diagram for vl::GLBufferObject:

List of all members.

## Public Member Functions
virtual const char * | className ()
| Returns the name of the class.
| GLBufferObject ()
| GLBufferObject (const GLBufferObject &other)
GLBufferObject & | operator= (const GLBufferObject &other)
void | swap (GLBufferObject &other)
| ~GLBufferObject ()
unsigned int | handle () const
int | byteCountGPU () const
void | createGLBufferObject ()
void | deleteGLBufferObject ()
void | downloadGLBufferObject ()
void | setBufferData (EGLBufferUsage usage, bool discard_local_storage=false)
void | setBufferSubData (GLintptr offset=0, int byte_count=-1, bool discard_local_storage=false)
void | setBufferData (int byte_count, const GLvoid *data, EGLBufferUsage usage)
void | setBufferSubData (GLintptr offset, int byte_count, const GLvoid *data)
void * | mapGPUBuffer (EGLBufferAccess access)
bool | unmapGPUBuffer ()
EGLBufferUsage | usage () const
## Protected Attributes
unsigned int | mHandle
int | mByteCountGPU
EGLBufferUsage | mUsage

## Detailed Description

The GLBufferObject class is a Buffer that can upload its data on the GPU memory.

Remarks:
  GLBufferObject is the storage used by ArrayAbstract and subclasses like ArrayFVec3, ArrayUByte4 etc.

## Constructor & Destructor Documentation

vl::GLBufferObject::GLBufferObject | ( |  | ) | `[inline]`

vl::GLBufferObject::GLBufferObject | ( | const GLBufferObject & | other | ) | `[inline]`

vl::GLBufferObject::~GLBufferObject | ( |  | ) | `[inline]`

## Member Function Documentation

virtual const char* vl::GLBufferObject::className | ( |  | ) | `[inline, virtual]`

Returns the name of the class.

Reimplemented from vl::Buffer.

GLBufferObject& vl::GLBufferObject::operator= | ( | const GLBufferObject & | other | ) | `[inline]`

void vl::GLBufferObject::swap | ( | GLBufferObject & | other | ) | `[inline]`

unsigned int vl::GLBufferObject::handle | ( |  | ) | const`[inline]`

int vl::GLBufferObject::byteCountGPU | ( |  | ) | const`[inline]`

void vl::GLBufferObject::createGLBufferObject | ( |  | ) | `[inline]`

void vl::GLBufferObject::deleteGLBufferObject | ( |  | ) | `[inline]`

void vl::GLBufferObject::downloadGLBufferObject | ( |  | ) | `[inline]`

void vl::GLBufferObject::setBufferData | ( | EGLBufferUsage | usage,
|  | bool | discard_local_storage = `false` |
| ) |  |  | `[inline]`

void vl::GLBufferObject::setBufferSubData | ( | GLintptr | offset = `0`,
|  | int | byte_count = `-1`,
|  | bool | discard_local_storage = `false` |
| ) |  |  | `[inline]`

void vl::GLBufferObject::setBufferData | ( | int | byte_count,
|  | const GLvoid * | data,
|  | EGLBufferUsage | usage |
| ) |  |  | `[inline]`

void vl::GLBufferObject::setBufferSubData | ( | GLintptr | offset,
|  | int | byte_count,
|  | const GLvoid * | data |
| ) |  |  | `[inline]`

void* vl::GLBufferObject::mapGPUBuffer | ( | EGLBufferAccess | access | ) | `[inline]`

bool vl::GLBufferObject::unmapGPUBuffer | ( |  | ) | `[inline]`

EGLBufferUsage vl::GLBufferObject::usage | ( |  | ) | const`[inline]`

## Member Data Documentation

unsigned int vl::GLBufferObject::mHandle`[protected]`

int vl::GLBufferObject::mByteCountGPU`[protected]`

EGLBufferUsage vl::GLBufferObject::mUsage`[protected]`

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

- E:/VisualizationLibrary/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vl/GLBufferObject.hpp

Visualization Library v2009.08 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Sun Nov 8 14:28:58 2009.
Permission is granted to use this page to write and publish articles regarding Visualization Library.