glFramebufferRenderbuffer, glNamedFramebufferRenderbuffer — attach a renderbuffer as a logical buffer of a framebuffer object
void glFramebufferRenderbuffer(
|
GLenum target, |
GLenum attachment, | |
GLenum renderbuffertarget, | |
GLuint renderbuffer) ; |
void glNamedFramebufferRenderbuffer(
|
GLuint framebuffer, |
GLenum attachment, | |
GLenum renderbuffertarget, | |
GLuint renderbuffer) ; |
target
Specifies the target to which the framebuffer is bound
for glFramebufferRenderbuffer
.
framebuffer
Specifies the name of the framebuffer object for
glNamedFramebufferRenderbuffer
.
attachment
Specifies the attachment point of the framebuffer.
renderbuffertarget
Specifies the renderbuffer target. Must be
GL_RENDERBUFFER
.
renderbuffer
Specifies the name of an existing renderbuffer object of
type renderbuffertarget
to
attach.
glFramebufferRenderbuffer
and
glNamedFramebufferRenderbuffer
attaches a
renderbuffer as one of the logical buffers of the specified
framebuffer object. Renderbuffers cannot be attached to the
default draw and read framebuffer, so they are not valid targets
of these commands.
For glFramebufferRenderbuffer
,
the framebuffer object is that bound to
target
, which must be
GL_DRAW_FRAMEBUFFER
,
GL_READ_FRAMEBUFFER
or
GL_FRAMEBUFFER
.
GL_FRAMEBUFFER
is equivalent to
GL_DRAW_FRAMEBUFFER
.
For glNamedFramebufferRenderbuffer
,
framebuffer
is the name of the
framebuffer object.
renderbuffertarget
must be
GL_RENDERBUFFER
.
renderbuffer
must be zero or the name of
an existing renderbuffer object of type
renderbuffertarget
. If
renderbuffer
is not zero, then the
specified renderbuffer will be used as the logical buffer
identified by attachment
of the specified
framebuffer object. If renderbuffer
is
zero, then the value of
renderbuffertarget
is ignored.
attachment
specifies the logical
attachment of the framebuffer and must be
GL_COLOR_ATTACHMENT
i,
GL_DEPTH_ATTACHMENT
,
GL_STENCIL_ATTACHMENT
or
GL_DEPTH_STENCIL_ATTACHMENT
.
i in may range from zero to the value of
GL_MAX_COLOR_ATTACHMENTS
minus one.
Setting attachment
to the value
GL_DEPTH_STENCIL_ATTACHMENT
is a special
case causing both the depth and stencil attachments of the
specified framebuffer object to be set to
renderbuffer
, which should have the base
internal format GL_DEPTH_STENCIL
.
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 specified attachment point 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
specified framebuffer object is broken.
If renderbuffer
is zero, these commands
will detach the image, if any, identified by the specified
attachment point of the specified framebuffer object. All state
values of the attachment point are set to their default values.
GL_INVALID_ENUM
is generated by
glFramebufferRenderbuffer
if
target
is not one of the accepted
framebuffer targets.
GL_INVALID_OPERATION
is generated by
glFramebufferRenderbuffer
if zero is bound
to target
.
GL_INVALID_OPERATION
is generated by
glNamedFramebufferRenderbuffer
if
framebuffer
is not the name of an
existing framebuffer object.
GL_INVALID_ENUM
is generated if
attachment
is not one of the accepted
attachment points.
GL_INVALID_ENUM
is generated if
renderbuffertarget
is not
GL_RENDERBUFFER
.
GL_INVALID_OPERATION
is generated if
renderbuffertarget
is not zero or the
name of an existing renderbuffer object of type
GL_RENDERBUFFER
.
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glFramebufferRenderbuffer
|
- | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glNamedFramebufferRenderbuffer
|
- | - | - | - | - | - | - | - | - | - | - | ✔ |
glGenFramebuffers,
glBindFramebuffer,
glGenRenderbuffers,
glFramebufferTexture,
glFramebufferTexture1D
,
glFramebufferTexture2D
,
glFramebufferTexture3D
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/.