2005 Sams Publishing
glBindRenderbuffer 3G
glBindRenderbuffer bind a named renderbuffer object

## C Specification

void `glBindRenderbuffer` GLenum target GLuint renderbuffer

## Parameters

target

  Specifies the target to which the renderbuffer object is bound. The symbolic constant must be `GL_RENDERBUFFER`.

renderbuffer

  Specifies the name of a renderbuffer object.

## Description

A renderbuffer is a data storage object containing a single image of a renderable internal format. A renderbuffer's image may be attached to a framebuffer object to use as a destination for rendering and as a source for reading.

`glBindRenderbuffer` lets you create or use a named renderbuffer object. Calling `glBindRenderbuffer` with target set to `GL_RENDERBUFFER` and renderbuffer set to the name of the new renderbuffer object binds the renderbuffer object name. When a renderbuffer object is bound, the previous binding is automatically broken.

Renderbuffer object names are unsigned integers. The value zero is reserved, but there is no default renderbuffer object. Instead, renderbuffer set to zero effectively unbinds any renderbuffer object previously bound. Renderbuffer object names and the corresponding renderbuffer object contents are local to the shared object space of the current GL rendering context.

You may use glGenRenderbuffers to generate a set of new renderbuffer object names.

The state of a renderbuffer object immediately after it is first bound is a zero-sized memory buffer with format `GL_RGBA4` and zero-sized red, green, blue, alpha, depth, and stencil pixel depths.

While a non-zero renderbuffer object name is bound, GL operations on target `GL_RENDERBUFFER` affect the bound renderbuffer object, and queries of target `GL_RENDERBUFFER` return state from the bound renderbuffer object. While renderbuffer object name zero is bound, as in the initial state, attempts to modify or query state on target `GL_RENDERBUFFER` generates an `GL_INVALID_OPERATION` error.

A renderbuffer object binding created with `glBindRenderbuffer` remains active until a different renderbuffer object name is bound, or until the bound renderbuffer object is deleted with glDeleteRenderbuffers.

## Errors

`GL_INVALID_ENUM` is generated if target is not `GL_RENDERBUFFER`.

## Associated Gets

glGet with argument `GL_RENDERBUFFER_BINDING`

## See Also

glDeleteRenderbuffers, glFramebufferRenderbuffer, glGenRenderbuffers, glGet, glGetRenderbufferParameteriv, glIsRenderbuffer, glRenderbufferStorage

## Copyright

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