Difference between revisions of "GLAPI/glBindBufferBase"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
m (Bot: Adding better formatting.)
Line 11: Line 11:
  
 
; target
 
; target
: Specify the target of the bind operation. {{param|target}} must be one of {{enum|GL_ATOMIC_COUNTER_BUFFER}}, {{enum|GL_TRANSFORM_FEEDBACK_BUFFER}}, {{enum|GL_UNIFORM_BUFFER}} or {{enum|GL_SHADER_STORAGE_BUFFER}}.
+
: Specify the target of the bind operation. {{param|target}} must be one of {{enum|GL_ATOMIC_COUNTER_BUFFER}}, {{enum|GL_TRANSFORM_FEEDBACK_BUFFER}} or {{enum|GL_UNIFORM_BUFFER}}.
 
; index
 
; index
 
: Specify the index of the binding point within the array specified by {{param|target}}.
 
: Specify the index of the binding point within the array specified by {{param|target}}.
Line 24: Line 24:
  
 
Calling '''glBindBufferBase''' is equivalent to calling {{apifunc|glBindBufferRange}} with {{param|offset}} zero and {{param|size}} equal to the size of the buffer.
 
Calling '''glBindBufferBase''' is equivalent to calling {{apifunc|glBindBufferRange}} with {{param|offset}} zero and {{param|size}} equal to the size of the buffer.
 
The {{enum|GL_ATOMIC_COUNTER_BUFER}} target is available only if the GL version is 4.2 or greater.
 
 
The {{enum|GL_SHADER_STORAGE_BUFFER}} target is available only if the GL version is 4.3 or greater.
 
  
 
== Errors ==
 
== Errors ==
  
{{enum|GL_INVALID_ENUM}} is generated if {{param|target}} is not {{enum|GL_ATOMIC_COUNTER_BUFFER}}, {{enum|GL_TRANSFORM_FEEDBACK_BUFFER}}, {{enum|GL_UNIFORM_BUFFER}} or {{enum|GL_SHADER_STORAGE_BUFFER}}.
+
{{enum|GL_INVALID_ENUM}} is generated if {{param|target}} is not {{enum|GL_ATOMIC_COUNTER_BUFFER}}, {{enum|GL_TRANSFORM_FEEDBACK_BUFFER}} or {{enum|GL_UNIFORM_BUFFER}}.
  
 
{{enum|GL_INVALID_VALUE}} is generated if {{param|index}} is greater than or equal to the number of {{param|target}}-specific indexed binding points.
 
{{enum|GL_INVALID_VALUE}} is generated if {{param|index}} is greater than or equal to the number of {{param|target}}-specific indexed binding points.

Revision as of 21:43, 17 August 2012

glBindBufferBase
Core in version 4.5
Core since version 3.0

glBindBufferBase: bind a buffer object to an indexed buffer target

Function Definition

 void glBindBufferBase(GLenum target​, GLuint index​, GLuint buffer​);
target
Specify the target of the bind operation. target​ must be one of GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
index
Specify the index of the binding point within the array specified by target​.
buffer
The name of a buffer object to bind to the specified binding point.

Description

glBindBufferBase binds the buffer object buffer​ to the binding point at index index​ of the array of targets specified by target​. Each target​ represents an indexed array of buffer binding points, as well as a single general binding point that can be used by other buffer manipulation functions such as glBindBuffer or glMapBuffer. In addition to binding buffer​ to the indexed buffer binding target, glBindBufferBase also binds buffer​ to the generic buffer binding point specified by target​.

Notes

Calling glBindBufferBase is equivalent to calling glBindBufferRange with offset​ zero and size​ equal to the size of the buffer.

Errors

GL_INVALID_ENUM is generated if target​ is not GL_ATOMIC_COUNTER_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.

GL_INVALID_VALUE is generated if index​ is greater than or equal to the number of target​-specific indexed binding points.

GL_INVALID_VALUE is generated if buffer​ does not have an associated data store, or if the size of that store is zero.

See Also

glGenBuffers, glDeleteBuffers, glBindBuffer, glBindBufferRange, glMapBuffer, glUnmapBuffer,

Copyright

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