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:

vl::Buffer vl::Object

List of all members.

Public Member Functions

virtual const char * className ()
 Returns the name of the class.
 GLBufferObject ()
 GLBufferObject (const GLBufferObject &other)
GLBufferObjectoperator= (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]


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

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.