缓冲区保存在GPU内存中, 可以在CPU不介入的情况下,完成数据操作。

1. 创建缓冲区

glGenBuffers()

2. 绑定缓冲区

glBindBuffer()

缓冲区绑定点:

GL_ARRAY_BUFFER数组缓冲区存储颜色、位置、纹理坐标等顶点属性,或者其他自定义属性

GL_COPY_READ_BUFFER用作glCopyBufferSubData进行复制的数据源

GL_COPY_WRITE_BUFFER用作glCopyBufferSubData进行复制的数据源

GL_ELEMENT_ARRAY_BUFFER索引数组缓冲区,用于保存glDrawElements、glDrawRangeElements和glDrawElementsInstanced的索引

像素缓冲区(PBO)绑定点

GL_PIXEL_PACK_BUFFER像素包装操作的源缓冲区glReadPixels

GL_PIXEL_UNPACK_BUFFER纹理更新函数的目标缓冲区glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D

GL_TEXTURE_BUFFER着色器可以通过纹理单元拾取来访问的缓冲区

GL_TRANSFORM_FEEDBACK_BUFFER变换反馈顶点着色器(transform feadback vertex shader)写入的缓冲区

GL_UNIFORM_BUFFER着色其能够访问的Uniform值

3. 填充缓冲区

glBufferData()

glBufferSubData()

4. 删除缓冲区

glDeleteBuffers()

5. 读取缓冲区

glReadbuffer()

glReadPixels()

posted on 2014-11-29 21:28  Lemon Rong  阅读(1972)  评论(0编辑  收藏  举报