67 #ifndef GVXR_OPENGL_UTILITIES_H 75 #define VBO_BUFFER_OFFSET(a) ((char*)NULL + (a)) 76 #define VERTEX_SET_ID 0 77 #define TEXT_COORD_SET_ID 1 78 #define NORMAL_SET_ID 2 79 #define ADDITIONAL_DATA_ID 3 80 #define INDEX_SET_ID 4
virtual VBO & operator=(const VBO &aVbo)
Copy operator.
unsigned int m_opengl_major_version
int m_texture_coordinate_data_type
unsigned int m_number_of_indices
Number of indices.
virtual void destroy()
Release the data on the GPU.
unsigned int m_texture_coordinate_size
Size in bytes of the array of texture coordinates.
unsigned int m_additional_data_size
Size in bytes of the array of additional data.
unsigned int m_id_set[5]
ID of VBOs.
int getPrimitiveType() const
Accessor on the primitive type.
unsigned int m_vertex_size
Size in bytes of the array of vertices.
unsigned int getOpenglMajorVersion() const
Accessor on the major version of OpenGL that was used to create the VBO.
unsigned int m_normal_size
Size in bytes of the array of normal vectors.
unsigned int m_number_of_normals
Number of normal vectors.
unsigned int m_number_of_texture_coordinates
Number of texture coordinates.
bool isReady() const
Check if the vertex buffer object is ready.
int m_vertex_data_type
Data type of vertices; valid values are GL_FLOAT and GL_DOUBLE.
Some utility functions about OpenGL. Now supports GLSL450 and OpenGL 4.5.
unsigned int m_index_size
Size in bytes of the array of indices.
VBO is a class to handle a vertex buffer object (VBO).
int m_additional_data_type
Data type of additional data; valid values are GL_FLOAT and GL_DOUBLE.
int m_normal_data_type
Data type of normal vectors; valid values are GL_FLOAT and GL_DOUBLE.
virtual ~VBO()
Destructor.
int getBufferUsageHint() const
Accessor on the buffer usage hint.
unsigned int m_number_of_additional_data
Number of additional data.
unsigned int m_number_of_vertices
Number of vertices.
void setBufferUsageHint(int aFlag)