GLES3.0中文API-glGetBufferParameter

名称

glGetBufferParameter —缓冲区对象的返回参数

C规范

void glGetBufferParameteriv( GLenum target,
GLenum value,
GLint * data);

void glGetBufferParameteri64v( GLenum target,
GLenum value,
GLint64 * data);

参数

target
指定glGetBufferParameteriv和glGetBufferParameteri64v缓冲区对象绑定的目标。必须是下表中的缓冲区绑定目标之一:

缓冲区绑定目标 用途
GL_ARRAY_BUFFER 顶点属性
GL_ATOMIC_COUNTER_BUFFER 原子计数器存储
GL_COPY_READ_BUFFER 缓冲区复制源
GL_COPY_WRITE_BUFFER 缓冲区复制目标
GL_DISPATCH_INDIRECT_BUFFER 间接计算调度命令
GL_DRAW_INDIRECT_BUFFER 间接命令参数
GL_ELEMENT_ARRAY_BUFFER 顶点数组索引
GL_PIXEL_PACK_BUFFER 像素读取目标
GL_PIXEL_UNPACK_BUFFER 纹理数据源
GL_SHADER_STORAGE_BUFFER 着色器的读写存储
GL_TEXTURE_BUFFER 纹理数据缓冲区
GL_TRANSFORM_FEEDBACK_BUFFER 变换反馈缓冲区
GL_UNIFORM_BUFFER 统一块存储

value
指定缓冲区对象参数的符号名称。可接受的值为GL_BUFFER_ACCESS_FLAGS,GL_BUFFER_MAPPED,GL_BUFFER_MAP_LENGTH,GL_BUFFER_MAP_OFFSET,GL_BUFFER_SIZE或GL_BUFFER_USAGE。

data
返回请求的参数。

描述

glGetBufferParameteriv和glGetBufferParameteri64v在数据中返回由目标指定的缓冲区对象的选定参数。

值命名一个特定的缓冲区对象参数,如下所示:

GL_BUFFER_ACCESS_FLAGS
当映射缓冲区对象时,params返回访问策略集。

GL_BUFFER_MAPPED
params返回一个标志,指示当前是否映射了缓冲区对象。初始值为GL_FALSE。

GL_BUFFER_MAP_LENGTH
params返回缓冲区对象映射的长度,以字节为单位。初始值为0。

GL_BUFFER_MAP_OFFSET
params返回缓冲区对象映射的偏移量(开始),以字节为单位。初始值为0。

GL_BUFFER_SIZE
params返回缓冲区对象的大小,以字节为单位。初始值为0。

GL_BUFFER_USAGE
params返回缓冲区对象的使用模式。

注意

如果生成错误,则不会更改数据内容。

如果使用glGetBufferParameteriv查询GL_BUFFER_SIZE的值,则大于或等于231的值将被限制为231-1。

仅当GL ES版本为3.0或更高版本时,才可以使用GL_COPY_READ_BUFFER,GL_COPY_WRITE_BUFFER,GL_PIXEL_PACK_BUFFER,GL_PIXEL_UNPACK_READ_BUFFER,GL_TRANSFORM_FEEDBACK_BUFFER和GL_UNIFORM_BUFFER目标。

仅当GL ES版本为3.1或更高版本时,GL_ATOMIC_COUNTER_BUFFER,GL_DISPATCH_INDIRECT_BUFFER,GL_DRAW_INDIRECT_BUFFER和GL_SHADER_STORAGE_BUFFER目标才可用。

仅当GL ES版本为3.2或更高版本时,GL_TEXTURE_BUFFER目标才可用。

错误

如果目标或值不是可接受的值,则生成GL_INVALID_ENUM。

如果将保留的缓冲区对象名称0绑定到目标,则生成GL_INVALID_OPERATION。

如果使用glGetBufferParameteri64v查询GL_BUFFER_ACCESS_FLAGS,GL_BUFFER_MAPPED或GL_BUFFER_USAGE的值,则生成GL_INVALID_ENUM。

如果使用glGetBufferParameteriv查询GL_BUFFER_MAP_LENGTH或GL_BUFFER_MAP_OFFSET的值,则生成GL_INVALID_ENUM。

API支持版本

函数名| 2.0 | 3.0 | 3.1 | 3.2
|-|-|-||-|-|
glGetBufferParameteriv |✔|✔|✔|✔
glGetBufferParameteri64v | -|✔|✔|✔

另见

glBindBuffer,glBufferData,glMapBufferRange,glUnmapBuffer

版权

https://www.khronos.org/registry/OpenGL-Refpages/es3/html/glGetBufferParameter.xhtml
Copyright © 2005 Addison-Wesley. Copyright © 2010-2015 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

发布了215 篇原创文章 · 获赞 0 · 访问量 880

猜你喜欢

转载自blog.csdn.net/MSK1111/article/details/103225294
今日推荐