class: ewol::resource::VirtualBufferObject
Description:
VirtualBufferObject is a specific resources for opengl, this load the data directly in the graphic card ad keep these insideConstructor and Destructor:
# VirtualBufferObject (int32_t _number);
# virtual ~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 );
+ ewol::resource::VirtualBufferObject* keep (int32_t _number);
+ void release (ewol::resource::VirtualBufferObject* & _object);
Object Hierarchy:
+ewol::Object
+--> +ewol::Resource
+--> ewol::resource::VirtualBufferObject
Detail:
VirtualBufferObject
# VirtualBufferObject (int32_t _number);
Constructor of this VBO.
Parameter [input]: accesMode Acces mode : ???
~VirtualBufferObject
# virtual ~VirtualBufferObject (void );
Destructor of this VBO.
getGL_ID
+ GLuint getGL_ID (int32_t id);
get the real openGL ID.
Return: the Ogl id reference of this VBO.
getRefBuffer
+ std::vector<float> & getRefBuffer (int32_t id);
get a reference on hte buffer data for this VBO.
Parameter [input]: id Id of the buffer requested
Return: A reference on the data.
pushOnBuffer
+ void pushOnBuffer (int32_t id,
const vec3 & data);
push data on a buffer with a custum type :
Parameter [input]: id Id of the buffer requested.
Parameter [input]: data Direct data that might be set.
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 :
Parameter [input]: id Id of the buffer requested.
Parameter [input]: data Direct data that might be set.
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.
Note: this is really usefull when we tested the new themes or shader developpements.
keep
+ ewol::resource::VirtualBufferObject* keep (int32_t _number);
keep the resource pointer.
Note: Never free this pointer by your own...
Parameter [input]: _number Number of VBO needed
Return: pointer on the resource or NULL if an error occured.
release
+ void release (ewol::resource::VirtualBufferObject* & _object);
release the keeped resources
Parameter [input] [output]: reference on the object pointer
+ewol::Object
+--> +ewol::Resource
+--> ewol::resource::VirtualBufferObject
Detail:
VirtualBufferObject
# VirtualBufferObject (int32_t _number);Constructor of this VBO.
Parameter [input]: | accesMode | Acces mode : ??? |
~VirtualBufferObject
# virtual ~VirtualBufferObject (void );Destructor of this VBO.
getGL_ID
+ GLuint getGL_ID (int32_t id);get the real openGL ID.
Return: | the Ogl id reference of this VBO. |
getRefBuffer
+ std::vector<float> & getRefBuffer (int32_t id);get a reference on hte buffer data for this VBO.
Parameter [input]: | id | Id of the buffer requested |
Return: | A reference on the data. |
pushOnBuffer
+ void pushOnBuffer (int32_t id,push data on a buffer with a custum type :
const vec3 & data);
Parameter [input]: | id | Id of the buffer requested. | Parameter [input]: | data | Direct data that might be set. |
getOnBufferVec3
+ vec3 getOnBufferVec3 (int32_t id,
int32_t elementID);
sizeOnBufferVec3
+ int32_t sizeOnBufferVec3 (int32_t id);
pushOnBuffer
+ void pushOnBuffer (int32_t id,push data on a buffer with a custum type :
const vec2 & data);
Parameter [input]: | id | Id of the buffer requested. | Parameter [input]: | data | Direct data that might be set. |
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.
Note: this is really usefull when we tested the new themes or shader developpements.
keep
+ ewol::resource::VirtualBufferObject* keep (int32_t _number);keep the resource pointer.
Note: Never free this pointer by your own...
Parameter [input]: | _number | Number of VBO needed |
Return: | pointer on the resource or NULL if an error occured. |
release
+ void release (ewol::resource::VirtualBufferObject* & _object);release the keeped resources
Parameter [input] [output]: | reference | on the object pointer |