glDeleteBuffers — delete named buffer objects
void glDeleteBuffers( | GLsizei n, |
const GLuint * buffers) ; |
n
Specifies the number of buffer objects to be deleted.
buffers
Specifies an array of buffer objects to be deleted.
glDeleteBuffers
deletes n
buffer objects named by the elements of the array buffers
. After a buffer object is deleted it has no contents, and its name is again unused. Unused names in buffers
that have been marked as used for the purposes of glGenBuffers are marked as unused again. Unused names in buffers are silently ignored, as is the value zero. If a buffer object is deleted while it is bound, all bindings to that object in the current context are reset to zero. Bindings to that buffer in other contexts are not affected.
glDeleteBuffers
silently ignores 0's and names that do not correspond to existing buffer objects.
GL_INVALID_VALUE
is generated if n
is negative.
// data_size_in_bytes is the size in bytes of your vertex data. // data_vertices is your actual vertex data, probably a huge array of floats GLuint vertex_buffer; // Save this for later rendering glGenBuffers(1, &vertex_buffer); glBindBuffer(GL_ARRAY_BUFFER, vertex_buffer); glBufferData(GL_ARRAY_BUFFER, data_size_in_bytes, 0, GL_STATIC_DRAW); glBufferSubData(GL_ARRAY_BUFFER, 0, data_size_in_bytes, data_vertices); GLint size = 0; glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &size); if(data_size_in_bytes != size) { glDeleteBuffers(1, &vertex_buffer); // Log the error return; } // Success
// data_size_in_bytes is the size in bytes of your vertex data. // data_indices is an array of integer offsets into your vertex data. GLuint index_buffer; // Save this for later rendering glGenBuffers(1, &index_buffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_buffer); glBufferData(GL_ELEMENT_ARRAY_BUFFER, data_size_in_bytes, 0, GL_STATIC_DRAW); glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, data_size_in_bytes, data_indices); GLint size = 0; glGetBufferParameteriv(GL_ELEMENT_ARRAY_BUFFER, GL_BUFFER_SIZE, &size); if(data_size_in_bytes != size) { glDeleteBuffers(1, &index_buffer); // Log the error return; } // Success
OpenGL ES API Version | |||
---|---|---|---|
Function Name | 2.0 | 3.0 | 3.1 |
glDeleteBuffers | ✔ | ✔ | ✔ |
Copyright © 2005 Addison-Wesley. Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.