// ---------------------------------------------------------------------------- void vertex_buffer_delete( vertex_buffer_t *self ) { size_t i; assert( self ); for( i=0; i<MAX_VERTEX_ATTRIBUTE; ++i ) { if( self->attributes[i] ) { vertex_attribute_delete( self->attributes[i] ); } } #ifdef FREETYPE_GL_USE_VAO if( self->VAO_id ) { //needs OpenGL ES 3.0 glDeleteVertexArrays( 1, &self->VAO_id ); } self->VAO_id = 0; #endif vector_delete( self->vertices ); self->vertices = 0; if( self->vertices_id ) { glDeleteBuffers( 1, &self->vertices_id ); } self->vertices_id = 0; vector_delete( self->indices ); self->indices = 0; if( self->indices_id ) { glDeleteBuffers( 1, &self->indices_id ); } self->indices_id = 0; vector_delete( self->items ); if( self->format ) { free( self->format ); } self->format = 0; self->state = 0; free( self ); }
// ---------------------------------------------------------------------------- void vertex_buffer_delete( vertex_buffer_t *self ) { size_t i; assert( self ); for( i=0; i<MAX_VERTEX_ATTRIBUTE; ++i ) { if( self->attributes[i] ) { vertex_attribute_delete( self->attributes[i] ); } } vector_delete( self->vertices ); self->vertices = 0; if( self->vertices_id ) { glDeleteBuffers( 1, &self->vertices_id ); } self->vertices_id = 0; vector_delete( self->indices ); self->indices = 0; if( self->indices_id ) { glDeleteBuffers( 1, &self->indices_id ); } self->indices_id = 0; vector_delete( self->items ); if( self->format ) { free( self->format ); } self->format = 0; self->state = 0; free( self ); }