Class: ewol::resource::VirtualBufferObject


Constructor and Destructor:

#                                                VirtualBufferObject  (int32_t _number);
# ~VirtualBufferObject (void);

Synopsis:

+  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::resource::VirtualBufferObject * keep (int32_t _number);
+ static void release (ewol::resource::VirtualBufferObject * & _object);

Object Hierarchy:

ewol::Object
    +--> ewol::Resource
        +--> ewol::resource::VirtualBufferObject

Description:

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

Detail:

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::resource::keep ()

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

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


ewol::resource::release ()

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

release the keeped resources


ewol::resource::VirtualBufferObject ()

VirtualBufferObject(int32_t _number);

Constructor of this VBO.


ewol::resource::~VirtualBufferObject ()

~VirtualBufferObject(void);

Destructor of this VBO.