// 创建
glGenBuffersARB(1, &m_bufCoordsDetail); // 创建硬件缓冲句柄.
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_bufCoordsDetail); // 选择当前要起作用的硬件缓冲.
glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vec2_type) * BLOCK_HEIGHT_DATA_COUNT, m_coordsDetailTerrain, GL_STATIC_DRAW_ARB); // 为硬件缓冲赋予顶点数据
// 使用
glClientActiveTextureARB(GL_TEXTURE0_ARB); // 选择TEXTURE0纹理单元
glEnableClientState(GL_TEXTURE_COORD_ARRAY); // 激活纹理单元TEXTURE0的纹理顶点数组功能
glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_bufCoordsDetail);// 选择当前起作用的硬件顶点缓冲
glTexCoordPointer(2, GL_FLOAT, 0, 0); // 设置TEXTURE0纹理单元的纹理顶点数组为m_bufCoordsDetail所存储的顶点缓冲.
// 删除
glDeleteBuffersARB(1, &m_bufCoordsDetail);
// 关闭对当前顶点硬件缓冲的使用(如需要使用直接本地内存中的顶点数组).
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
References:
http://dev.gameres.com/Program/Visual/3D/vbo.htm