glUnmapBuffer

来源:互联网 发布:高考大数据 编辑:程序博客网 时间:2024/06/11 15:23

glUnmapBuffer

glUnmapBuffer释放缓冲区对象与客户端地址空间的关系

GLboolean glUnmapBuffer(    GLenum target);

参数: target:指定了缓冲区的类型,具体类型可以参考 glBufferData

描述:
glUnmapBuffer用来释放缓冲区对象与客户端地址空间的关系。如果一个映射关系在使用之后没有使用glUnmapBuffer来释放,那么任何OpenGL访问缓冲区对象的命令都会导致错误。当映射关系被解除后,使用映射得到的指针就会失效。

备注:
1. glUnmapBuffer成功会返回GL_TRUE,失败返回GL_FALSE
2. 缓冲区对象在被删除的时候,缓冲区对象的映射关系自动解除

使用方式:

static const float data[] ={0.25, -0.25, 0.5, 1.0,-0.25, -0.25, 0.5, 1.0,0.25, 0.25, 0.5, 1.0};// 获取缓冲区的映射指针ptrvoid * ptr = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);// 拷贝我们的数据到指针所指向的位置memcpy(ptr, data, sizeof(data));// 使用完之后释放映射的指针glUnmapBuffer(GL_ARRAY_BUFFER);
0 0