GLAPI/glFramebufferRenderbuffer: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Fixed a typo
 
(3 intermediate revisions by one other user not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   GLsync '''glFramebufferRenderbuffer'''(GLenum {{param|target}}, GLenum {{param|attachment}}, GLenum {{param|renderbuffertarget}}, GLuint {{param|renderbuffer}});
   void '''glFramebufferRenderbuffer'''(GLenum {{param|target}}, GLenum {{param|attachment}}, GLenum {{param|renderbuffertarget}}, GLuint {{param|renderbuffer}});


; target
; target
Line 23: Line 23:
'''glFramebufferRenderbuffer''' attaches a renderbuffer as one of the logical buffers of the currently bound framebuffer object. {{param|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 {{param|renderbuffertarget}}. If {{param|renderbuffer}} is not zero and if '''glFramebufferRenderbuffer''' is successful, then the renderbuffer name {{param|renderbuffer}} will be used as the logical buffer identified by {{param|attachment}} of the framebuffer currently bound to {{param|target}}.
'''glFramebufferRenderbuffer''' attaches a renderbuffer as one of the logical buffers of the currently bound framebuffer object. {{param|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 {{param|renderbuffertarget}}. If {{param|renderbuffer}} is not zero and if '''glFramebufferRenderbuffer''' is successful, then the renderbuffer name {{param|renderbuffer}} will be used as the logical buffer identified by {{param|attachment}} of the framebuffer currently bound to {{param|target}}.


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


Calling '''glFramebufferRenderbuffer''' with the renderbuffer name zero will detach the image, if any, identified by {{param|attachment}}, in the framebuffer currently bound to {{param|target}}. All state values of the attachment point specified by attachment in the object bound to target are set to their default values.
Calling '''glFramebufferRenderbuffer''' with the renderbuffer name zero will detach the image, if any, identified by {{param|attachment}}, in the framebuffer currently bound to {{param|target}}. All state values of the attachment point specified by attachment in the object bound to target are set to their default values.
Line 39: Line 39:
== See Also ==
== See Also ==


{{apifunc|glGenFramebuffers}}, {{apifunc|glBindFramebuffer}}, {{apifunc|glGenRenderbuffers}}, {{apifunc|glFramebufferTexture}}, {{apifunc|glFramebufferTexture1D}}, {{apifunc|glFramebufferTexture2D}}, {{apifunc|glFramebufferTexture3D}}
{{apifunc|glBindFramebuffer}}, {{apifunc|glFramebufferTexture}}, {{apifunc|glFramebufferTextureLayer}}


== Copyright ==
== Copyright ==
Line 47: Line 47:
[[Category:Core API Ref Framebuffer Objects|FramebufferRenderbuffer]]
[[Category:Core API Ref Framebuffer Objects|FramebufferRenderbuffer]]
[[Category:Core API Reference|FramebufferRenderbuffer]]
[[Category:Core API Reference|FramebufferRenderbuffer]]
[[Category:Framebuffer Object API State Functions|FramebufferRenderbuffer]]

Latest revision as of 03:35, 6 January 2021

glFramebufferRenderbuffer
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​);
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 renderbuffer 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

glBindFramebuffer, glFramebufferTexture, glFramebufferTextureLayer

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