glBindBufferRange — bind a range within a buffer object to an indexed buffer target
void glBindBufferRange( | GLenum target, |
GLuint index, | |
GLuint buffer, | |
GLintptr offset, | |
GLsizeiptr size) ; |
target
Specify the target of the bind operation. target
must be one of GL_ATOMIC_COUNTER_BUFFER
, GL_TRANSFORM_FEEDBACK_BUFFER
, GL_UNIFORM_BUFFER
, or GL_SHADER_STORAGE_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.
offset
The starting offset in basic machine units into the buffer object buffer
.
size
The amount of data in machine units that can be read from the buffer object while used as an indexed target.
glBindBufferRange
binds a range the buffer object buffer
represented by offset
and size
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 a range of buffer
to the indexed buffer binding target, glBindBufferRange
also binds the range to the generic buffer binding point specified by target
.
offset
specifies the offset in basic machine units into the buffer object buffer
and size
specifies the amount of data that can be read from the buffer object while used as an indexed target.
The GL_ATOMIC_COUNTER_BUFFER
target is available only if the GL version is 4.2 or greater.
The GL_SHADER_STORAGE_BUFFER
target is available only if the GL version is 4.3 or greater.
GL_INVALID_ENUM
is generated if target
is not one of GL_ATOMIC_COUNTER_BUFFER
, GL_TRANSFORM_FEEDBACK_BUFFER
, GL_UNIFORM_BUFFER
or GL_SHADER_STORAGE_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 size
is less than or equal to zero, or if offset
+ size
is greater than the value of GL_BUFFER_SIZE
.
Additional errors may be generated if offset
violates any target
-specific alignmemt restrictions.
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 |
glBindBufferRange | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glGenBuffers, glDeleteBuffers, glBindBuffer, glBindBufferBase, glMapBuffer, glUnmapBuffer,
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/.