glUniformBlockBinding — assign a binding point to an active uniform block
void glUniformBlockBinding( | GLuint program, |
GLuint uniformBlockIndex, | |
GLuint uniformBlockBinding) ; |
program
The name of a program object containing the active uniform block whose binding to assign.
uniformBlockIndex
The index of the active uniform block within program
whose binding to assign.
uniformBlockBinding
Specifies the binding point to which to bind the uniform block with index uniformBlockIndex
within program
.
Binding points for active uniform blocks are assigned using glUniformBlockBinding
. Each of a program's active uniform blocks has a corresponding uniform buffer binding point. program
is the name of a program object for which the command glLinkProgram has been issued in the past.
If successful, glUniformBlockBinding
specifies that program
will use the data store of the buffer object bound to the binding point uniformBlockBinding
to extract the values of the uniforms in the uniform block identified by uniformBlockIndex
.
When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero.
GL_INVALID_VALUE
is generated if uniformBlockIndex
is not an active uniform block index of program
.
GL_INVALID_VALUE
is generated if uniformBlockBinding
is greater than or equal to the value of GL_MAX_UNIFORM_BUFFER_BINDINGS
.
GL_INVALID_VALUE
is generated if program
is not the name of a program object generated by the GL.
glUniformBlockBinding
is available only if the GL version is 3.1 or greater.
glGetActiveUniformBlock with argument GL_UNIFORM_BLOCK_BINDING
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glUniformBlockBinding | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Copyright © 2010-2014 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. https://opencontent.org/openpub/.