Represents an OpenGL Framebuffer Object.
FBOs are used for doing off-screen rendering, including rendering to a texture. An FBO can capture draw commands that would normally go to the screen, and can be used to implement a large variety of techniques, particularly post-processing effects like blurs, depth-of-field and the like.
FBOs are formally specified in the extension GL_EXT_framebuffer_object.
Show All |
Public Member Functions
Static Public Member Functions
Protected Member Functions
-
Fbo (int width, int height, const Format &format)
-
voidinit ()
-
voidinitMultisamplingSettings (bool *useMsaa, bool *useCsaa, Format *format)
-
voidprepareAttachments (const Format &format, bool multisampling)
-
voidattachAttachments ()
-
voidinitMultisample (const Format &format)
-
voidupdateMipmaps (GLenum attachment) const
-
boolcheckStatus (class FboExceptionInvalidSpecification *resultExc)
-
voidsetDrawBuffers (GLuint fbId, const std::map< GLenum, RenderbufferRef > &attachmentsBuffer, const std::map< GLenum, TextureBaseRef > &attachmentsTexture)
Protected Attributes
-
intmWidth
-
intmHeight
-
mFormat
-
GLuintmId
-
GLuintmMultisampleFramebufferId
-
std::map< GLenum, RenderbufferRef >mAttachmentsBuffer
-
std::map< GLenum, RenderbufferRef >mAttachmentsMultisampleBuffer
-
std::map< GLenum, TextureBaseRef >mAttachmentsTexture
-
std::stringmLabel
-
boolmNeedsResolve
-
boolmNeedsMipmapUpdate