2010-2014
Khronos Group
glFramebufferTextureLayer
3G

# glFramebufferTextureLayer

attach a single layer of a texture to a framebuffer

## C Specification

                    void glFramebufferTextureLayer
                    GLenum target
                    GLenum attachment
                    GLuint texture
                    GLint level
                    GLint layer

## Parameters

`target`

  Specifies the framebuffer target. `target` must be `GL_DRAW_FRAMEBUFFER`, `GL_READ_FRAMEBUFFER`, or `GL_FRAMEBUFFER`. `GL_FRAMEBUFFER` is equivalent to `GL_DRAW_FRAMEBUFFER`.

`attachment`

  Specifies the attachment point of the framebuffer. `attachment` must be `GL_COLOR_ATTACHMENT` i, `GL_DEPTH_ATTACHMENT`, `GL_STENCIL_ATTACHMENT` or `GL_DEPTH_STENCIL_ATTACHMMENT`.

`texture`

  Specifies the texture object to attach to the framebuffer attachment point named by `attachment`.

`level`

  Specifies the mipmap level of `texture` to attach.

`layer`

  Specifies the layer of `texture` to attach.

## Description

`glFramebufferTextureLayer` operates like glFramebufferTexture2D, except that only a single layer of the texture level, given by `layer`, is attached to the attachment point. If `texture` is not zero, `layer` must be greater than or equal to zero. `texture` must either be zero or the name of an existing three-dimensional texture, or a two-dimensional array texture.

If `texture` is a 3D texture, then `level` must be greater than or equal to zero and less than or equal to log2 of the value of `GL_MAX_3D_TEXTURE_SIZE`. If `texture` is a 2D array texture, `level` must be greater than or equal to zero and no larger than log2 of the value of `GL_MAX_TEXTURE_SIZE`.

## Errors

`GL_INVALID_ENUM` is generated if `target` is not one of the accepted tokens.

`GL_INVALID_ENUM` is generated if `attachment` is not one of the accepted tokens.

`GL_INVALID_VALUE` is generated if `texture` is not zero or the name of an existing texture object.

`GL_INVALID_VALUE` is generated if `texture` is not zero and `layer` is negative.

`GL_INVALID_VALUE` is generated if `texture` is not zero and `layer` is greater than the value of `GL_MAX_3D_TEXTURE_SIZE` minus one for a 3D texture or greater than the value of `GL_MAX_ARRAY_TEXTURE_LAYERS` minus one for a 2D array texture.

`GL_INVALID_OPERATION` is generated if zero is bound to `target`.

`GL_INVALID_OPERATION` is generated if `texture` is not zero or the name of an existing three-dimensional texture, or a two-dimensional array texture.

## API Version Support

glFramebufferTextureLayer

## See Also

glGenFramebuffers, glBindFramebuffer, glGenRenderbuffers, glFramebufferRenderbuffer, glFramebufferTexture2D,

## Copyright

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. http://opencontent.org/openpub/.