GLES2.0中文API-glBufferSubData

名称

glBufferSubData - 更新缓冲区对象的数据存储的子集

C规范

void glBufferSubData(    GLenum target,
     GLintptr offset,
     GLsizeiptr size,
     const GLvoid * data);

参数

target

指定目标缓冲区对象。符号常量必须为GL_ARRAY_BUFFERGL_ELEMENT_ARRAY_BUFFER

offset

指定缓冲区对象的数据存储中的需要数据替换偏移量,以字节为单位进行测量。

size

指定要替换的数据存储区域的大小(以字节为单位)。
data

指定指向将复制到数据存储中的新数据的指针。

描述

glBufferSubData重新定义当前绑定到target的缓冲区对象的部分或全部数据存储。从字节偏移量offset开始并扩展为size字节的数据从data指向的存储器复制到数据存储器。如果offsetsize一起定义超出缓冲区对象的数据存储边界的范围,则抛出错误。

注意

替换整个数据存储时,请考虑使用glBufferSubData而不是使用glBufferData完全重新创建数据存储。这避免了重新分配数据存储的成本。

考虑使用多个缓冲区对象,以避免在数据存储更新期间停止渲染管道。如果管道中的任何渲染引用glBufferSubData正在更新的缓冲区对象中的数据,特别是来自正在更新的特定区域,则在更新数据存储之前,该渲染必须从管道中消失。

客户端必须使数据元素与客户端平台的要求保持一致,并具有额外的基本级要求,即缓冲区内对包含N的数据的偏移量是N的倍数。

错误

GL_INVALID_ENUMtarget不是GL_ARRAY_BUFFERGL_ELEMENT_ARRAY_BUFFER

GL_INVALID_VALUE:offsetsize为负,或者如果它们在一起,而定义超出缓冲区对象的已分配数据存储的内存区域。

GL_INVALID_OPERATION:保留的缓冲区对象名称0绑定到target

另见

glBindBufferglBufferData

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glBufferSubData.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,图形学
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值