0

如果指定的统一块未绑定到任何绑定索引, glGetActiveUniformBlockwith将返回什么?http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformBlock.xml说:GL_UNIFORM_BLOCK_BINDING

如果之前没有指定统一块,则返回零。

这是否意味着未绑定块将返回零?如果是,这是否意味着在程序链接后所有 unifrom 块默认绑定到零分箱索引?同样,如果是,那么我如何判断指定块是否绑定为零或从未绑定到任何索引?

4

1 回答 1

0

对于你的前两个问题,是的。

同样,如果是,那么我如何判断指定块是否绑定为零或从未绑定到任何索引?

你没有。话又说回来,这有什么用?您应该从代码或着色器中设置这些。在这两种情况下,您都知道设置了什么,因为您设置了它。除非您正在编写一些要求用户指定绑定的着色器工具,否则这无关紧要。

如果您正在编写这样的工具,那么只需向用户展示所有绑定是什么。如果多个统一块使用相同的索引,那么用户在解决冲突(或确认这是他们真正想要的)之前继续是非法的。

于 2013-01-14T20:19:17.173 回答