Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL ES 3

# glFramebufferTextureLayer

## Name

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

`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

| OpenGL ES API Version
--- | ---
Function Name | 2.0 | 3.0 | 3.1
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. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.