- glBindBuffer(GL_ARRAY_BUFFER, m_vbo);
- unsigned sizeInBytes = m_vertexCount*m_vertexSize;
- if (m_vboSize < sizeInBytes || m_vboSize > 2*sizeInBytes) {
- // resize buffer
- glBufferData(GL_ARRAY_BUFFER, sizeInBytes, m_vertexData, GL_STATIC_DRAW);
- m_vboSize = sizeInBytes;
- }
- else {
- // use old buffer
- glBufferSubData(GL_ARRAY_BUFFER, 0, sizeInBytes, m_vertexData);
- }
- // ...
- glDrawArrays(m_primitiveMode, 0, m_vertexCount);