Portal:OpenGL Objects/Framebuffer Objects: Difference between revisions
Jump to navigation
Jump to search
Since texture barrier is core 4.5, it is somewhat legal. |
m Bot: Updating section links to use redirects. |
||
Line 1: | Line 1: | ||
A '''Framebuffer Object''' (FBO) is a [[ | A '''Framebuffer Object''' (FBO) is a [[Container Object|container object]] that stores a series of images that can, as a collection, be used as a [[Framebuffer]]. Images can be added to or removed from an FBO as needed. Images can come from [[Texture]] objects or [[Renderbuffer Object]]s. In this way, textures can be render targets. | ||
The set of images added to an FBO must [[ | The set of images added to an FBO must [[Framebuffer Completeness|satisfy certain constraints]] before the FBO can be utilized. These constraints are fairly minimal, such has having valid storage and using [[Image_Formats#Required_formats|valid image formats]]. | ||
Rendering to an image in a texture while reading from the same image is [[ | Rendering to an image in a texture while reading from the same image is [[Framebuffer Feedback Loop|not generally allowed by the OpenGL memory model]], though there are [[Memory Model#Texture barrier|ways to make it work]]. Violating such constraints yields undefined behavior. |
Revision as of 15:38, 12 April 2015
A Framebuffer Object (FBO) is a container object that stores a series of images that can, as a collection, be used as a Framebuffer. Images can be added to or removed from an FBO as needed. Images can come from Texture objects or Renderbuffer Objects. In this way, textures can be render targets.
The set of images added to an FBO must satisfy certain constraints before the FBO can be utilized. These constraints are fairly minimal, such has having valid storage and using valid image formats.
Rendering to an image in a texture while reading from the same image is not generally allowed by the OpenGL memory model, though there are ways to make it work. Violating such constraints yields undefined behavior.