From OpenGL Wiki
Jump to: navigation, search
Core in version 4.6
Core since version 3.0

glFramebufferRenderbuffer: attach a renderbuffer as a logical buffer to the currently bound framebuffer object

Function Definition

 void glFramebufferRenderbuffer(GLenum target​, GLenum attachment​, GLenum renderbuffertarget​, GLuint renderbuffer​);
Specifies the framebuffer target. target​ must be GL_DRAW_FRAMEBUFFER, GL_READ_FRAMEBUFFER, or GL_FRAMEBUFFER. GL_FRAMEBUFFER is equivalent to GL_DRAW_FRAMEBUFFER.
Specifies the attachment point of the framebuffer.
Specifies the renderbuffer target and must be GL_RENDERBUFFER.
Specifies the name of an existing renderbuffer object of type renderbuffertarget​ to attach.


glFramebufferRenderbuffer attaches a renderbuffer as one of the logical buffers of the currently bound framebuffer object. renderbuffer​ is the name of the renderbuffer object to attach and must be either zero, or the name of an existing renderbuffer object of type renderbuffertarget​. If renderbuffer​ is not zero and if glFramebufferRenderbuffer is successful, then the renderbuffer name renderbuffer​ will be used as the logical buffer identified by attachment​ of the framebuffer currently bound to target​.

The value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE for the specified attachment point is set to GL_RENDERBUFFER and the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is set to renderbuffer​. All other state values of the attachment point specified by attachment​ are set to their default values. No change is made to the state of the renderbuuffer object and any previous attachment to the attachment​ logical buffer of the framebuffer target​ is broken.

Calling glFramebufferRenderbuffer with the renderbuffer name zero will detach the image, if any, identified by attachment​, in the framebuffer currently bound to target​. All state values of the attachment point specified by attachment in the object bound to target are set to their default values.

Setting attachment​ to the value GL_DEPTH_STENCIL_ATTACHMENT is a special case causing both the depth and stencil attachments of the framebuffer object to be set to renderbuffer​, which should have the base internal format GL_DEPTH_STENCIL.


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

GL_INVALID_ENUM is generated if renderbuffertarget​ is not GL_RENDERBUFFER.

GL_INVALID_OPERATION is generated if zero is bound to target​.

See Also

glBindFramebuffer, glFramebufferTexture, glFramebufferTextureLayer


Copyright © 2010 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.