2010 Khronos Group
glFramebufferRenderbuffer 3G
glFramebufferRenderbuffer attach a renderbuffer as a logical buffer to the currently bound framebuffer object

## C Specification

void `glFramebufferRenderbuffer` GLenum target GLenum attachment GLenum renderbuffertarget GLuint renderbuffer

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

renderbuffertarget

  Specifies the renderbuffer target and must be `GL_RENDERBUFFER`.

renderbuffer

  Specifies the name of an existing renderbuffer object of type renderbuffertarget to attach.

## Description

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

## Errors

`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

glGenFramebuffers, glBindFramebuffer, glGenRenderbuffers, glFramebufferTexture, glFramebufferTexture1D, glFramebufferTexture2D, glFramebufferTexture3D

## Copyright

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