GLBINDBUFFERRANGE(3G)

    .SH "NAME" glBindBufferRange - bind a range within a buffer object to an indexed buffer target
    .SH "C SPECIFICATION"

            .HP u void glBindBufferRange(GLenumtarget, GLuintindex, GLuintbuffer, GLintptroffset, GLsizeiptrsize);

    .SH "PARAMETERS"

        .PP target

                    Specify the target of the bind operation. target must be one of GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.

            .RE
            .PP index

                        Specify the index of the binding point within the array specified by target.

                .RE
                .PP buffer

                            The name of a buffer object to bind to the specified binding point.

                    .RE
                    .PP offset

                                The starting offset in basic machine units into the buffer object buffer.

                        .RE
                        .PP size

                                    The amount of data in machine units that can be read from the buffet object while used as an indexed target.

                            .RE

                        .SH "DESCRIPTION"
                            .PP 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.
                            .PP 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.

                        .SH "NOTES"
                            .PP The GL_ATOMIC_COUNTER_BUFFER and GL_SHADER_STORAGE_BUFFER targets are available only if the GL ES version is 3.1 or greater.

                        .SH "ERRORS"
                            .PP GL_INVALID_ENUM is generated if target is not GL_ATOMIC_COUNTER_BUFFER, GL_SHADER_STORAGE_BUFFER, GL_TRANSFORM_FEEDBACK_BUFFER or GL_UNIFORM_BUFFER.
                            .PP GL_INVALID_VALUE is generated if index is greater than or equal to the number of target-specific indexed binding points.
                            .PP GL_INVALID_VALUE is generated if buffer is not zero and size is less than or equal to zero.
                            .PP GL_INVALID_VALUE is generated if target is GL_ATOMIC_COUNTER_BUFFER or GL_TRANSFORM_FEEDBACK_BUFFER and size or offset are not multiples of 4.
                            .PP GL_INVALID_VALUE is generated if target is GL_SHADER_STORAGE_BUFFER and offset is not a multiple of GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT.
                            .PP GL_INVALID_VALUE is generated if target is GL_UNIFORM_BUFFER and offset is not a multiple of GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.

                        .SH "ASSOCIATED GETS"
                            .PP glGet() with argument GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, GL_MAX_UNIFORM_BUFFER_BINDINGS, GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, or GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.

                        .SH "API VERSION SUPPORT"

                            .TS allbox tab(:); l l l l l. T{ glBindBufferRange T}:T{ T}:T{ T}:T{ T}:T{ T}

                        .SH "SEE ALSO"
                            .PP glGenBuffers(), glDeleteBuffers(), glBindBuffer(), glBindBufferBase(), glMapBufferRange(), glUnmapBuffer(),

                        .SH "COPYRIGHT"
                            .PP Copyright © 2010-2015 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/.

COPYRIGHT
Copyright © 2010-2015 Khronos Group