glBufferSubData

来源:互联网 发布:java timer 内存泄露 编辑:程序博客网 时间:2024/05/22 00:17

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,因为这样的话就没法更新数据了)

0 0