名称
glGetBufferPointerv — 返回指向映射缓冲区对象的数据存储区的指针
C 规范
void glGetBufferPointerv( GLenum target,
GLenum pname,
void ** params);
参数
target
指定glGetBufferPointerv缓冲区对象绑定到的目标,该对象必须是下表中的缓冲区绑定目标之一:
缓冲区绑定目标 | 用途 |
---|---|
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 | 统一块存储 |
pname
指定要返回的指针。 符号常量必须为GL_BUFFER_MAP_POINTER。
params
返回由pname指定的指针值。
描述
glGetBufferPointerv返回指针信息。 pname是一个符号常量,指示要返回的指针,必须为GL_BUFFER_MAP_POINTER,即缓冲区对象的数据存储所映射到的指针。如果数据存储库当前未映射,则返回NULL。 params是指向放置返回的指针值的位置的指针。
注意
如果生成错误,则不会更改参数的内容。
指针的初始值为NULL。
仅当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目标才可用。
错误
如果目标或pname不是可接受的值,则生成GL_INVALID_ENUM。
如果将保留的缓冲区对象名称0绑定到目标,则生成GL_INVALID_OPERATION。
API 支持版本
函数名 | 2.0 | 3.0 | 3.1 | 3.2 |
---|---|---|---|---|
glGetBufferPointerv | - | ✔ | ✔ | ✔ |
另见
glBindBuffer, glMapBufferRange
版权
https://www.khronos.org/registry/OpenGL-Refpages/es3/html/glGetBufferPointerv.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/.