2013
Khronos Group
glTexBufferRange
3G

# glTexBufferRange

bind a range of a buffer's data store to a buffer texture

## C Specification

                    void glTexBufferRange
                    GLenum target
                    GLenum internalFormat
                    GLuint buffer
                    GLintptr offset
                    GLsizeiptr size

## Parameters

`target`

  Specifies the target of the operation and must be `GL_TEXTURE_BUFFER`.

`internalFormat`

  Specifies the internal format of the data in the store belonging to `buffer`.

`buffer`

  Specifies the name of the buffer object whose storage to attach to the active buffer texture.

`offset`

  Specifies the offset of the start of the range of the buffer's data store to attach.

`size`

  Specifies the size of the range of the buffer's data store to attach.

## Description

`glTexBufferRange` attaches the a range of the data store of the buffer object named `buffer` to the active buffer texture, and specifies the internal format for the texel array found in the attached buffer object. If `buffer` is zero, any buffer object attached to the buffer texture is detached and no new buffer object is attached. If `buffer` is non-zero, it must be the name of an existing buffer object. `target` must be `GL_TEXTURE_BUFFER`. The start of the range is specified by `offset` and the size of the range is specified by `size`, both measured in basic machine units. `offset` must be greater than or equal to zero, `size` must be greater than zero, and the sum of `offset` and `size` not exceed the value of `GL_BUFFER_SIZE` for `buffer`. Furthermore, `offset` must be an integer multiple of the value of `GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT`. `internalformat` specifies the storage format, and must be one of the following sized internal formats:

## Errors

`GL_INVALID_ENUM` is generated if `target` is not `GL_TEXTURE_BUFFER`.

`GL_INVALID_VALUE` is generated if `offset` is less than zero.

`GL_INVALID_VALUE` is generated if `size` is less than or equal to zero.

`GL_INVALID_VALUE` is generated if `offset` + `size` is greater than the value of `GL_BUFFER_SIZE` for `buffer`.

`GL_INVALID_VALUE` is generated if `offset` is not an integer multiple of the value of `GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT`.

## Associated Gets

glGet with argument `GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT`

glGetTexLevelParameter with arguments `GL_TEXTURE_BUFFER_OFFSET` or `GL_TEXTURE_BUFFER_SIZE`.

## See Also

glTexBuffer.

## Copyright

Copyright 2013 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/.