Provided by: opengl-4-man-doc_1.0~svn33624-1_all bug

NAME

       glGetFramebufferAttachmentParameteriv, glGetNamedFramebufferAttachmentParameteriv -
       retrieve information about attachments of a framebuffer object

C SPECIFICATION

       void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname,
                                                  GLint *params);

       void glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment,
                                                       GLenum pname, GLint *params);

PARAMETERS

       target
           Specifies the target to which the framebuffer object is bound for
           glGetFramebufferAttachmentParameteriv.

       framebuffer
           Specifies the name of the framebuffer object for
           glGetNamedFramebufferAttachmentParameteriv.

       attachment
           Specifies the attachment of the framebuffer object to query.

       pname
           Specifies the parameter of attachment to query.

       params
           Returns the value of parameter pname for attachment.

DESCRIPTION

       glGetFramebufferAttachmentParameteriv and glGetNamedFramebufferAttachmentParameteriv
       return parameters of attachments of a specified framebuffer object.

       For glGetFramebufferAttachmentParameteriv, the framebuffer object is that bound to target,
       which must be one of GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER or GL_FRAMEBUFFER.
       GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER. Buffers of default framebuffers may
       also be queried if bound to target.

       For glGetNamedFramebufferAttachmentParameteriv, framebuffer is the name of the framebuffer
       object. If framebuffer is zero, the default draw framebuffer is queried.

       If the specified framebuffer is a framebuffer object, attachment must be one of
       GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT GL_DEPTH_STENCIL_ATTACHMENT, or
       GL_COLOR_ATTACHMENTi, where i is between zero and the value of GL_MAX_COLOR_ATTACHMENTS
       minus one.

       If the specified framebuffer is a default framebuffer, target, attachment must be one of
       GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_DEPTH or GL_STENCIL,
       identifying the corresponding buffer.

       If attachment is GL_DEPTH_STENCIL_ATTACHMENT, the same object must be bound to both the
       depth and stencil attachment points of the framebuffer object, and information about that
       object is returned.

       Upon successful return, if pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, then params
       will contain one of GL_NONE, GL_FRAMEBUFFER_DEFAULT, GL_TEXTURE, or GL_RENDERBUFFER,
       identifying the type of object which contains the attached image. Other values accepted
       for pname depend on the type of object, as described below.

       If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_NONE, then either no
       framebuffer is bound to target; or a default framebuffer is queried, attachment is
       GL_DEPTH or GL_STENCIL, and the number of depth or stencil bits, respectively, is zero. In
       this case querying pname GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME will return zero, and all
       other queries will generate an error.

       If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is not GL_NONE, these queries apply
       to all other framebuffer types:

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
           GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
           GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE or GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, then
           params will contain the number of bits in the corresponding red, green, blue, alpha,
           depth, or stencil component of the specified attachment. If the requested component is
           not present in the attachment, or if no data storage or texture image has been
           specified for the attachment, then params will contain zero.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, then params will contain the
           format of components of the specified attachment, one of GL_FLOAT, GL_INT,
           GL_UNSIGNED_INT, GL_SIGNED_NORMALIZED, or GL_UNSIGNED_NORMALIZED for floating-point,
           signed integer, unsigned integer, signed normalized fixed-point, or unsigned
           normalized fixed-point components respectively. Only color buffers may have integer
           components. If no data storage or texture image has been specified for the attachment,
           then params will contain GL_NONE. This query cannot be performed for a combined
           depth+stencil attachment, since it does not have a single format.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, then params will contain the
           encoding of components of the specified attachment, one of GL_LINEAR or GL_SRGB for
           linear or sRGB-encoded components, respectively. Only color buffer components may be
           sRGB-encoded; such components are treated as described in the OpenGL Specification.
           For a default framebuffer, color encoding is determined by the implementation. For
           framebuffer objects, components are sRGB-encoded if the internal format of a color
           attachment is one of the color-renderable SRGB formats. If the attachment is not a
           color attachment, or if no data storage or texture image has been specified for the
           attachment, then params will contain GL_LINEAR.

       If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_RENDERBUFFER, then

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, params will contain the name of the
           renderbuffer object which contains the attached image.

       If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is GL_TEXTURE, then

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, then params will contain the name
           of the texture object which contains the attached image.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, then params will contain the
           mipmap level of the texture object which contains the attached image.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE and the value of
           GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is the name of a cube map texture object, then
           params will contain the cube map face of the cubemap texture object which contains the
           attached image. Otherwise params will contain zero.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_LAYERED, then params will contain GL_TRUE if an
           entire level of a three-dimensional texture, cube map texture, or one-or
           two-dimensional array texture is attached. Otherwise, params will contain GL_FALSE.

       •   If pname is GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER; the value of
           GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is the name of a three-dimensional, or a one- or
           two-dimensional array texture; and the value of GL_FRAMEBUFFER_ATTACHMENT_LAYERED is
           GL_FALSE, then params will contain the texture layer which contains the attached
           image. Otherwise params will contain zero.

NOTES

       The GL_FRAMEBUFFER_ATTACHMENT_LAYERED query is supported only if the GL version is 3.2 or
       greater.

ERRORS

       GL_INVALID_ENUM is generated by glGetFramebufferAttachmentParameteriv if target is not one
       of the accepted framebuffer targets.

       GL_INVALID_OPERATION is generated by glGetNamedFramebufferAttachmentParameteriv if
       framebuffer is not zero or the name of an existing framebuffer object.

       GL_INVALID_ENUM is generated if pname is not valid for the value of
       GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, as described above.

       GL_INVALID_OPERATION is generated if attachment is not one of the accepted framebuffer
       attachment points, as described above.

       GL_INVALID_OPERATION is generated if the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is
       GL_NONE and pname is not GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME or
       GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE.

       GL_INVALID_OPERATION is generated if attachment is GL_DEPTH_STENCIL_ATTACHMENT and
       different objects are bound to the depth and stencil attachment points of target.

       GL_INVALID_OPERATION is generated if attachment is GL_DEPTH_STENCIL_ATTACHMENT and pname
       is GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE.

VERSION SUPPORT

       ┌───────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                                           │                OpenGL Version                                         │
       ├───────────────────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │/                                          │     │     │     │     │     │     │     │     │     │     │     │     │
       │Feature                                    │     │     │     │     │     │     │     │     │     │     │     │     │
       │Name                                       │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glGetFramebufferAttachmentParameteriv      │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glGetNamedFramebufferAttachmentParameteriv │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └───────────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

SEE ALSO

       glGenFramebuffers(), glBindFramebuffer() glGetFramebufferParameter()

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

COPYRIGHT

       Copyright © 2010-2014 Khronos Group

[FIXME: source]                             01/03/2018                   GLGETFRAMEBUFFERATTA(3G)