GLES3.0中文API-glGetActiveUniformBlockiv

名称

glGetActiveUniformBlockiv —查询有关活动统一块的信息

C规范

void glGetActiveUniformBlockiv(GLuint program,
GLuint uniformBlockIndex,
GLenum pname,
GLint * params);

参数

program
指定包含统一块的程序的名称。

uniformBlockIndex
指定程序中统一块的索引。

pname
指定要查询的参数的名称。

params
指定用于接收查询结果的变量的地址。

描述

glGetActiveUniformBlockiv检索有关程序中活动统一块的信息。

program必须是过去必须为其调用命令glLinkProgram的程序对象的名称,尽管不要求glLinkProgram必须成功。链接可能失败,因为活动制服的数量超出了限制。

uniformBlockIndex是程序的活动统一块索引,并且必须小于GL_ACTIVE_UNIFORM_BLOCKS的值。

成功后,将以参数形式返回由pname指定的统一块参数。如果发生错误,则不会将任何内容写入参数。

如果pname为GL_UNIFORM_BLOCK_BINDING,则返回最后由统一程序块指定的统一程序块选择的统一程序缓冲区绑定点的索引,该统一程序块为程序指定。如果之前未指定统一块,则返回零。

如果pname为GL_UNIFORM_BLOCK_DATA_SIZE,则将以基本机器为单位的,依赖于实现的最小总缓冲区对象大小返回,该大小将所有活动的制服保持在由junitBlockIndex标识的制服块中。既不能保证也不能期望给定的实现将紧密包装在缓冲区对象中的统一值排列在一起。 std140统一块布局是一个例外,它可以保证特定的打包行为,并且不需要应用程序查询偏移和步幅。在这种情况下,即使仅基于统一块声明预先确定了最小大小,仍然可以查询最小大小。

如果pname为GL_UNIFORM_BLOCK_NAME_LENGTH,则返回由uniformBlockIndex标识的统一块名称的总长度(包括nul终止符)。

如果pname为GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,则将返回由uniformBlockIndex标识的统一块中的活动统一数。

如果pname为GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,则将返回由UniformBlockIndex标识的统一块的活动统一索引列表。将要写入参数的元素数量是uniformBlockIndex的GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS的值。

如果pname是GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER或GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,则返回一个布尔值,该值指示是否分别由程序的顶点或片段编程阶段所引用的是均匀块索引所标识的统一块。

错误

如果UniformBlockIndex大于或等于GL_ACTIVE_UNIFORM_BLOCKS的值,或者不是程序中活动的统一块的索引,则生成GL_INVALID_VALUE。

如果pname不是可接受的令牌之一,则生成GL_INVALID_ENUM。

如果program不是过去调用glLinkProgram的程序对象的名称,则生成GL_INVALID_OPERATION。

API 支持版本

函数名 2.0 3.0 3.1 3.2
glGetActiveUniformBlockiv -

另见

glGetActiveUniformBlockName, glGetUniformBlockIndex, glLinkProgram

版权

https://www.khronos.org/registry/OpenGL-Refpages/es3/html/glGetActiveUniformBlockiv.xhtml
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 · 访问量 806

猜你喜欢

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