glBindBufferRange — bind a range within a buffer object to an indexed buffer target
void glBindBufferRange(
|
GLenumtarget, |
GLuintindex, | |
GLuintbuffer, | |
GLintptroffset, | |
GLsizeiptrsize) ; |
target
Specify the target of the bind operation. target
must be
either 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.
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 buffet object while used as an indexed target.
glBindBufferRange
binds a range of 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
glMapBufferRange. In addition to binding
a range of buffer
to the indexed buffer binding target, glBindBufferBase
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.
GL_INVALID_ENUM
is generated if target
is not
GL_TRANSFORM_FEEDBACK_BUFFER
or GL_UNIFORM_BUFFER
.
GL_INVALID_VALUE
is generated if target
is
GL_TRANSFORM_FEEDBACK_BUFFER
andindex
is greater
than or equal to GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
.
GL_INVALID_VALUE
is generated if target
is
GL_UNIFORM_BUFFER
andindex
is greater
than or equal to GL_MAX_UNIFORM_BUFFER_BINDINGS
.
GL_INVALID_VALUE
is generated if buffer
is not
zero and size
is less than or equal to zero.
GL_INVALID_VALUE
is generated if target
is
GL_TRANSFORM_FEEDBACK_BUFFER
and size
or
offset
are not multiples of 4.
GL_INVALID_VALUE
is generated if target
is
GL_UNIFORM_BUFFER
and offset
is not a multiple of
GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
.
glGet with argument GL_MAX_UNIFORM_BUFFER_BINDINGS
,
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
, or GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
.
OpenGL ES API Version | ||
---|---|---|
Function Name | 2.0 | 3.0 |
glBindBufferRange | - | ✔ |
glGenBuffers, glDeleteBuffers, glBindBuffer, glBindBufferBase, glMapBufferRange, 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/.