OpenGL :glBindBuffer参数详解

1.函数原型

  • void glBufferData(GLenum target​, GLsizeiptr size​, const GLvoid * data​, GLenum usage​);

        glBufferData创建用于当前绑定到缓冲对象的新数据存储目标。将删除任何预先存在的数据存储。新的数据存储与指定的创建大小以字节为单位和使用。如果数据不是NULL,数据存储进行初始化,从这个指针数据。第一次绑定后的缓冲区对象的状态是未映射的零大小的内存缓冲区,具有GL_READ_WRITE访问权限和GL_STATIC_DRAW用法。

2. 参数解释

2.1 target

target,指定目标缓冲区对象:

可选参数 解释
GL_ARRAY_BUFFER 可以用来保存glVertexAttribPointer()设置的顶点数组数据
GL_ATOMIC_COUNTER_BUFFER 同样,可以使用GL_UNIFORM_BUFFER,GL_ATOMIC_COUNTER_BUFFER和GL_SHADER_STORAGE_BUFFER缓冲区绑定点,但不分别直接影响统一缓冲区,原子计数器缓冲区或着色器存储缓冲区状态。必须使用glBindBufferBase或glBindBufferRange将缓冲区绑定到索引的统一缓冲区,原子计数器缓冲区或着色器存储缓冲区绑定点
GL_COPY_READ_BUFFER GL_COPY_WRITE_BUFFER 这两个目标是一对互相匹配的结合点,用于拷贝缓存之间的数据,并且不会引起OpenGL的状态变化,也不会产生任何特殊形式的OPenGL调用,允许使用glCopyBufferSubData而不会干扰其他绑定的状态。但是,glCopyBufferSubData可以与任何一对缓冲区绑定点一起使用
GL_DRAW_INDIRECT_BUFFER 通过glDrawArraysIndirect和glDrawElementsIndirect发出的绘制参数来自该缓冲区对象的数据存储中的指定偏移量
GL_DISPATCH_INDIRECT_BUFFER 当非零缓冲区对象绑定到GL_DISPATCH_INDIRECT_BUFFER目标时,通过glDispatchComputeIndirect发出的计算调度的参数来自该缓冲区对象的数据存储中的指定偏移量
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值