The WebGLRenderingContext.getFramebufferAttachmentParameter() method of the WebGL API returns information about a framebuffer's attachment.
Syntax
any gl.getFramebufferAttachmentParameter(target, attachment, pname);
Parameters
- target
- A
GLenumspecifying the binding point (target). Possible values:gl.FRAMEBUFFER: Collection buffer data storage of color, alpha, depth and stencil buffers used to render an image.- When using a WebGL 2 context, the following values are available additionally:
gl.DRAW_FRAMEBUFFER: Equivalent togl.FRAMEBUFFER. Used as a destination for drawing, rendering, clearing, and writing operations.gl.READ_FRAMEBUFFER: Used as a source for reading operations.
- attachment
- A
GLenumspecifying the attachment point for thetexture. Possible values:gl.COLOR_ATTACHMENT0: Texture attachment for the framebuffer's color buffer.gl.DEPTH_ATTACHMENT: Texture attachment for the framebuffer's depth buffer.gl.STENCIL_ATTACHMENT: Texture attachment for the framebuffer's stencil buffer.- When using a WebGL 2 context, the following values are available additionally:
gl.DEPTH_STENCIL_ATTACHMENT: Texture attachment for both, the depth and stencil buffer.gl.COLOR_ATTACHMENT1
gl.COLOR_ATTACHMENT2
gl.COLOR_ATTACHMENT3
gl.COLOR_ATTACHMENT4
gl.COLOR_ATTACHMENT5
gl.COLOR_ATTACHMENT6
gl.COLOR_ATTACHMENT7
gl.COLOR_ATTACHMENT8
gl.COLOR_ATTACHMENT9
gl.COLOR_ATTACHMENT10
gl.COLOR_ATTACHMENT11
gl.COLOR_ATTACHMENT12
gl.COLOR_ATTACHMENT13
gl.COLOR_ATTACHMENT14
gl.COLOR_ATTACHMENT15
- When using the
WEBGL_draw_buffersextension:ext.COLOR_ATTACHMENT0_WEBGL(same asgl.COLOR_ATTACHMENT0)
ext.COLOR_ATTACHMENT1_WEBGL
ext.COLOR_ATTACHMENT2_WEBGL
ext.COLOR_ATTACHMENT3_WEBGL
ext.COLOR_ATTACHMENT4_WEBGL
ext.COLOR_ATTACHMENT5_WEBGL
ext.COLOR_ATTACHMENT6_WEBGL
ext.COLOR_ATTACHMENT7_WEBGL
ext.COLOR_ATTACHMENT8_WEBGL
ext.COLOR_ATTACHMENT9_WEBGL
ext.COLOR_ATTACHMENT10_WEBGL
ext.COLOR_ATTACHMENT11_WEBGL
ext.COLOR_ATTACHMENT12_WEBGL
ext.COLOR_ATTACHMENT13_WEBGL
ext.COLOR_ATTACHMENT14_WEBGL
ext.COLOR_ATTACHMENT15_WEBGL
- pname
- A
GLenumspecifying information to query. Possible values:gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: The type which contains the attached image.gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: The texture or renderbuffer of the attached image (WebGLRenderbufferorWebGLTexture).gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: Mipmap level. Default value: 0.gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: The name of cube-map face of the texture.- When using the
EXT_sRGBextension:ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: The framebuffer color encoding.
- When using a WebGL 2 context, the following values are available additionally:
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZEgl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZEgl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODINGgl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPEgl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZEgl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZEgl.FRAMEBUFFER_ATTACHMENT_RED_SIZEgl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZEgl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
Return value
Depends on the requested information (as specified with pname). Either a GLint, a GLenum, a WebGLRenderbuffer, or a WebGLTexture.
pname parameter |
Return value |
|---|---|
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE |
A GLenum indicating the type of the texture. Either gl.RENDERBUFFER, gl.TEXTURE, or if no image is attached, gl.NONE. |
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME |
The texture (WebGLTexture) or renderbuffer (WebGLRenderbuffer) of the attached image. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL |
A GLint indicating the mipmap level. Default value: 0. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE |
A GLenum indicating the name of cube-map face of the texture. Possible values:
|
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE |
A GLint indicating the number of bits in the alpha component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE |
A GLint indicating the number of bits in the blue component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING |
A GLenum indicating the encoding of components of the specified attachment. Either gl.LINEAR or gl.SRGB. |
gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE |
A GLenum indicating the format of the components of the specified attachment. Either gl.FLOAT, gl.INT, gl.UNSIGNED_INT, gl.SIGNED_NORMALIZED, or gl.UNSIGNED_NORMALIZED. |
gl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE |
A GLint indicating the number of bits in the depth component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE |
A GLint indicating the number of bits in the green component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_RED_SIZE |
A GLint indicating the number of bits in the red component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE |
A GLint indicating the number of bits in the stencil component of the attachment. |
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER |
A GLint indicating the number of the texture layer which contains the attached image. |
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT |
A GLenum indicating the framebuffer color encoding. Either gl.LINEAR or ext.SRGB_EXT. |
Exceptions
- A
gl.INVALID_ENUMerror is thrown iftargetis notgl.FRAMEBUFFER,gl.DRAW_FRAMEBUFFER,gl.READ_FRAMEBUFFERor ifattachmentis not one of the accepted attachment points.
Examples
gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0,
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE);
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebGL 1.0 The definition of 'getFramebufferAttachmentParameter' in that specification. |
Recommendation | Initial definition for WebGL. |
| OpenGL ES 2.0 The definition of 'glGetFramebufferAttachmentParameteriv' in that specification. |
Standard | Man page of the (similar) OpenGL API. |
| WebGL 2.0 The definition of 'getFramebufferAttachmentParameter' in that specification. |
Editor's Draft | Updated definition for WebGL 2. |
| OpenGL ES 3.0 The definition of 'glGetFramebufferAttachmentParameteriv' in that specification. |
Standard | Man page of the (similar) OpenGL ES 3 API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic Support | 9 | 4.0 | 12 | 11 | 12 | 5.1 |
WebGL2 | 56 | 51.0 | (No) | (No) | 43 | (No) |
| Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| Basic Support | (Yes) | 25 | (Yes) | (Yes) | 11 | 12 | 8.1 |
WebGL2 | (No) | (No) | (No) | 51.0 | (No) | (No) | (No) |