名称
glGetVertexAttrib - 返回通用顶点属性参数
C规范
void glGetVertexAttribfv( GLuint index,
GLenum pname,
GLfloat *params);
void glGetVertexAttribiv( GLuint index,
GLenum pname,
GLint *params);
参数
index
指定要查询的通用顶点属性参数。
pname
指定要查询的顶点属性参数的符号名称。可接受的值为GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,GL_VERTEX_ATTRIB_ARRAY_ENABLED,GL_VERTEX_ATTRIB_ARRAY_SIZE,GL_VERTEX_ATTRIB_ARRAY_STRIDE,GL_VERTEX_ATTRIB_ARRAY_TYPE,GL_VERTEX_ATTRIB_ARRAY_NORMALIZED或GL_CURRENT_VERTEX_ATTRIB。
params
返回请求的数据。
描述
glGetVertexAttrib以params形式返回通用顶点属性参数的值。要查询的通用顶点属性由index指定,要查询的参数由pname指定。接受的参数名称如下:
GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
params返回单个值,当前绑定到绑定点的缓冲区对象的名称对应于通用顶点属性数组索引。如果没有绑定缓冲区对象,则返回0。初始值为0。
GL_VERTEX_ATTRIB_ARRAY_ENABLED
如果启用了索引的顶点属性数组,则params返回非零(true)的单个值,如果禁用,则返回0(false)。初始值为GL_FALSE。
GL_VERTEX_ATTRIB_ARRAY_SIZE
params返回单个值,即index的顶点属性数组的大小。大小是顶点属性数组的每个元素的值的数量,它将是1,2,3或4.初始值是4。
GL_VERTEX_ATTRIB_ARRAY_STRIDE
params返回单个值,数组步长(索引的顶点属性数组中的连续元素之间的字节数)。值为0表示数组元素按顺序存储在内存中。初始值为0。
GL_VERTEX_ATTRIB_ARRAY_TYPE
params返回单个值,一个符号常量,指示索引的顶点属性数组的数组类型。可能的值为GL_BYTE,GL_UNSIGNED_BYTE,GL_SHORT,GL_UNSIGNED_SHORT,GL_FIXED和GL_FLOAT。初始值为GL_FLOAT。
GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
如果由index指示的顶点属性数组的定点数据类型在转换为浮点时被标准化,则params返回非零(true)的单个值,否则返回0(false)。初始值为GL_FALSE。
GL_CURRENT_VERTEX_ATTRIB
params返回四个值,表示index指定的通用顶点属性的当前值。初始值为(0,0,0,1)。
除GL_CURRENT_VERTEX_ATTRIB之外的所有参数都表示客户端状态。
注意
如果生成错误,则不会更改params的内容。
错误
GL_INVALID_ENUM:pname不是可接受的值。
GL_INVALID_VALUE:index大于或等于GL_MAX_VERTEX_ATTRIBS。
相关Gets
glGet 参数GL_MAX_VERTEX_ATTRIBS。
glGetVertexAttribPointerv 参数index和GL_VERTEX_ATTRIB_ARRAY_POINTER。
另见
glBindAttribLocation,glBindBuffer,glDisableVertexAttribArray,glEnableVertexAttribArray,glVertexAttrib,glVertexAttrib
版权
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetVertexAttrib.xml
https://blog.csdn.net/flycatdeng
Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.