Class: ewol::VirtualBufferObject


Synopsis:

+  const char *                        getType              (void);
+ GLuint getGL_ID (int32_t id);
+ std::vector<float> & getRefBuffer (int32_t id);
+ void pushOnBuffer (int32_t id,
const vec3 & data);
+ vec3 getOnBufferVec3 (int32_t id,
int32_t elementID);
+ int32_t sizeOnBufferVec3 (int32_t id);
+ void pushOnBuffer (int32_t id,
const vec2 & data);
+ vec2 getOnBufferVec2 (int32_t id,
int32_t elementID);
+ int32_t sizeOnBufferVec2 (int32_t id);
+ void retreiveData (void);
+ void flush (void);
+ void updateContext (void);
+ void removeContext (void);
+ void removeContextToLate (void);
+ void reload (void);
+ static ewol::VirtualBufferObject * keep (int32_t _number);
+ static void release (ewol::VirtualBufferObject * & _object);
# VirtualBufferObject (int32_t _number);
# ~VirtualBufferObject (void);

Object Hierarchy:

ewol::EObject
    +--> ewol::Resource
        +--> ewol::VirtualBufferObject

Description:

/** * @brief VirtualBufferObject is a specific resources for opengl, this load the data directly in the graphic card ad keep these inside */

Detail:

getType ()

const char * getType(void);

Generic function that get the resouces name of his type.


getGL_ID ()

GLuint getGL_ID(int32_t id);

get the real openGL ID.


getRefBuffer ()

std::vector<float> & getRefBuffer(int32_t id);

get a reference on hte buffer data for this VBO.


pushOnBuffer ()

void pushOnBuffer(int32_t id,
                  const vec3 & data);

push data on a buffer with a custum type :


getOnBufferVec3 ()

vec3 getOnBufferVec3(int32_t id,
                     int32_t elementID);



sizeOnBufferVec3 ()

int32_t sizeOnBufferVec3(int32_t id);



pushOnBuffer ()

void pushOnBuffer(int32_t id,
                  const vec2 & data);

push data on a buffer with a custum type :


getOnBufferVec2 ()

vec2 getOnBufferVec2(int32_t id,
                     int32_t elementID);



sizeOnBufferVec2 ()

int32_t sizeOnBufferVec2(int32_t id);



retreiveData ()

void retreiveData(void);

get the data from the graphic card.


flush ()

void flush(void);

Send the data to the graphic card.


updateContext ()

void updateContext(void);

This load/reload the data in the opengl context, needed when removed previously.


removeContext ()

void removeContext(void);

remove the data from the opengl context.


removeContextToLate ()

void removeContextToLate(void);

Special android spec! It inform us that all context is removed and after notify us...


reload ()

void reload(void);

Relode the shader from the file. used when a request of resouces reload is done.
Notes: this is really usefull when we tested the new themes or shader developpements.


ewol::keep ()

static ewol::VirtualBufferObject * keep(int32_t _number);

keep the resource pointer.
Notes: Never free this pointer by your own...


ewol::release ()

static void release(ewol::VirtualBufferObject * & _object);

release the keeped resources


ewol::VirtualBufferObject ()

VirtualBufferObject(int32_t _number);

Constructor of this VBO.


ewol::~VirtualBufferObject ()

~VirtualBufferObject(void);

Destructor of this VBO.