glBufferSubData
2015-05-21 16:59
537 查看
glBufferSubData
glBufferSubData用来更新一个已有缓冲区对象中的一部分数据void glBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid * data);
参数:
target: 可以参考glBufferData中的描述,用来指定需要更新的缓冲区对象的类型
offset: 指定了更新数据相对于缓冲区对象中原始数据开始位置的偏移量,也就是说要从什么地方开始更新原来的数据(以字节为单位)
size:需要更新的数据量的大小
data:一个指向新数据源的指针,将新的数据源拷贝到缓冲区对象中完成更新
描述:
glBufferSubData用来更新缓冲区对象中的数据,可以更新一部分或者整个缓冲区中的数据(取决于offset和size的取值),如果offset是0,而size正好是用来缓冲区存储数据的大小,那么整个数据就会被新的数据所替换。需要注意的是offset和size必须保证在原来缓冲区对象可以表示的范围之内。(加入原来缓冲区对象中存储了1024个字节,那么offset就不能大于1024,因为这样的话就没法更新数据了)
相关文章推荐
- OpenGLES - glBufferSubData 更新顶点缓存的一部分数据
- glCopyBufferSubData
- OpenGL红宝书例3.1 -- glBufferSubData使用
- glBufferSubData | glClearBufferSubData | glCopyBufferSubData
- glBufferSubData和glBufferData的关系,glBufferSubData()填充数据后无效果
- 关于GL_ARB_vertex_buffer_object扩展
- glBindFramebuffer() 离屏渲染+双缓存+读取opengl像素 glReadPixels()
- GL_ARRAY_BUFFER 和 GL_ELEMENT_ARRAY_BUFFER
- OpenGL API - glBindBuffer
- cocos2dx iOS crash _context presentRenderbuffer:GL_RENDERBUFFER
- OpenGL API - glBufferData
- 【opengl函数】glFeedbackBuffer
- 多个glBindBuffer和glDrawXXX 需要glBindVertexArray VAO指定
- glBindBuffer
- API翻译:glBindBuffer
- OpenGL: glFlush(),glSwapBuffer(), 和glFinish(),glPushMatrix和glPopMatrix
- API翻译:glBindFramebuffer
- cudaGLUnregisterBufferObject和cudaGraphicsGLRegisterBuffer错误
- SwapBuffers glutSwapBuffer glFlush glFinish
- GL_PIXEL_PACK_BUFFER,glBindBuffer的参数详解