2010 Khronos Group
glUniformBlockBinding 3G
glUniformBlockBinding assign a binding point to an active uniform block

## C Specification

void `glUniformBlockBinding` GLuint program GLuint uniformBlockIndex GLuint uniformBlockBinding

## Parameters

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.

## Description

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.

## Errors

`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 program is not the name of a program object generated by the GL.

## Notes

`glUniformBlockBinding` is available only if the GL version is 3.1 or greater.

## Associated Gets

glGetActiveUniformBlock with argument `GL_UNIFORM_BLOCK_BINDING`

## See Also

glLinkProgram, glBindBufferBase, glBindBufferRange, glGetActiveUniformBlock

## Copyright

Copyright 2010 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/.