OpenGL ES 3.0(六)缓冲区对象、PBO、FBO

缓冲区缓冲区对象创建:Gluint pixBuffObjs[1];glGenBuffers(1, pixBuffObjs);绑定:glBindBuffer(GL_PIXEL_PACK_BUFFER, pixBuffObjs[0]);缓冲区对象的绑定点有: Target Name Description GL_ARRAY_BUFFER ...
摘要由CSDN通过智能技术生成

缓冲区对象

创建:

Gluint pixBuffObjs[1];
glGenBuffers(1, pixBuffObjs);

绑定:

glBindBuffer(GL_PIXEL_PACK_BUFFER, pixBuffObjs[0]);

缓冲区对象的绑定点有:

Target Name Description
GL_ARRAY_BUFFER 用于存储顶点属性,比如颜色、位置、纹理坐标等
GL_COPY_READ_BUFFER glCopyBufferSubData 的数据源
GL_COPY_WRITE_BUFFER glCopyBufferSubData 的目标
GL_ELEMENT_ARRAY_BUFFER 用于保存 glDrawElements, glDrawRangeElements, and glDrawElementsInstanced 的索引
GL_PIXEL_PACK_BUFFER 读取像素数据的源缓冲区(比如 glReadPixels)
GL_PIXEL_UNPACK_BUFFER 纹理更新的源缓冲区,比如 glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, and glTexSubImage3D
GL_TEXTURE_BUFFER Buffer accessible to shaders through texel fetches
GL_TRANSFORM_FEEDBACK_BUFFER Buffer written to by a transform feedback vertex shader
GL_UNIFORM_BUFFER Uniform values accessible to shaders

删除:

glDeleteBuffers(1, pixBuffObjs);

填充缓冲区:

glBufferData(GL_PIXEL_PACK_BUFFER, pixelDataSize, pixelData, GL_DYNAMIC_COPY);

在使用 glBufferData 之前,必须先进行绑定。如果要分配一个特定大小的缓冲区,而不需要对它进行填充,则 pixelData 可以为 NULL。第四个参数可能的值为:

Buffer Usage Description
GL_STREAM_DRAW 缓冲区内容将由应用程序设置一次,并且不经常用于绘图
GL_STREAM_READ 缓冲区内容将被设置一次,作为 OpenGL 的输出,并且
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值