## Name

glBindSamplers — bind one or more named sampler objects to a sequence of consecutive sampler units

## C Specification

`void glBindSamplers(` | GLuint first,
| GLsizei count,
| const GLuint *samplers`)`;

## Parameters

`first`

  Specifies the first sampler unit to which a sampler object is to be bound.

`count`

  Specifies the number of samplers to bind.

`samplers`

  Specifies the address of an array of names of existing sampler objects.

## Description

`glBindSamplers` binds samplers from an array of existing sampler objects to a specified number of consecutive sampler units. `count` specifies the number of sampler objects whose names are stored in the array `samplers`. That number of sampler names is read from the array and bound to the `count` consecutive sampler units starting from `first`.

If the name zero appears in the `samplers` array, any existing binding to the sampler unit is reset. Any non-zero entry in `samplers` must be the name of an existing sampler object. When a non-zero entry in `samplers` is present, that sampler object is bound to the corresponding sampler unit. If `samplers` is `NULL` then it is as if an appropriately sized array containing only zeros had been specified.

`glBindSamplers` is equivalent to the following pseudo code:

        for (i = 0; i < count; i++) {
            if (samplers == NULL) {
                glBindSampler(first + i, 0);
            } else {
                glBindSampler(first + i, samplers[i]);
            }
        }

Each entry in `samplers` will be checked individually and if found to be invalid, the state for that sampler unit will not be changed and an error will be generated. However, the state for other sampler units referenced by the command will still be updated.

## Notes

`glBindSamplers` is available only if the GL version is 4.4 or higher.

## Errors

`GL_INVALID_OPERATION` is generated if `first` + `count` is greater than the number of sampler units supported by the implementation.

`GL_INVALID_OPERATION` is generated if any value in `samplers` is not zero or the name of an existing sampler object.

## Associated Gets

glGet with argument `GL_SAMPLER_BINDING`

## See Also

glGenSamplers, glBindSampler, glDeleteSamplers, glGet, glSamplerParameter, glGetSamplerParameter, glGenTextures, glBindTexture, glDeleteTextures

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