GLAPI/glUniformBlockBinding: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 27: Line 27:
== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if {{param|uniformBlockIndex}} is not an active uniform block index of {{param|program}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|uniformBlockIndex}} is not an active uniform block index of {{param|program}}.


{{code|GL_INVALID_VALUE}} is generated if {{param|uniformBlockBinding}} is greater than or equal to the value of {{code|GL_MAX_UNIFORM_BUFFER_BINDINGS}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|uniformBlockBinding}} is greater than or equal to the value of {{enum|GL_MAX_UNIFORM_BUFFER_BINDINGS}}.


{{code|GL_INVALID_VALUE}} is generated {{param|program}} is not the name of a program object generated by the GL.
{{enum|GL_INVALID_VALUE}} is generated {{param|program}} is not the name of a program object generated by the GL.


== Notes ==
== Notes ==
Line 39: Line 39:
== Associated Gets ==
== Associated Gets ==


{{apifunc|glGetActiveUniformBlock}} with argument {{code|GL_UNIFORM_BLOCK_BINDING}}
{{apifunc|glGetActiveUniformBlock}} with argument {{enum|GL_UNIFORM_BLOCK_BINDING}}


== See Also ==
== See Also ==

Revision as of 17:30, 29 April 2012

glUniformBlockBinding
Core in version 4.6
Core since version 3.1

glUniformBlockBinding: assign a binding point to an active uniform block

Function Definition

 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​.

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, glGetUniformBlockIndex

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