2010 Khronos Group
glBindBufferRange 3G
glBindBufferRange bind a range within a buffer object to an indexed buffer target

## C Specification

void `glBindBufferRange` GLenumtarget GLuintindex GLuintbuffer GLintptroffset GLsizeiptrsize

## Parameters

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.

## Description

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

## Errors

`GL_INVALID_ENUM` is generated if target is not `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 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.

## See Also

glGenBuffers, glDeleteBuffers, glBindBuffer, glBindBufferBase, glMapBuffer, glUnmapBuffer,

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