Content deleted Content added
Undid revision 547539236 by 117.203.147.112 (talk) |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.2 |
||
(9 intermediate revisions by 6 users not shown) | |||
Line 1:
The '''frame buffer object''' architecture (FBO) is an extension to [[OpenGL]] for doing flexible off-screen rendering, including rendering to a [[texture (computer graphics)|texture]]. By capturing images that would normally be drawn to the screen, it can be used to implement a large variety of image filters, and post-processing effects. The FBO is analogous to the '''render targets model''' in [[DirectX]]. It is used in OpenGL for its efficiency and ease of use. The use of FBOs doesn't suffer from the overhead associated with OpenGL drawing context switching, and has largely superseded the [[pbuffer]] and other methods involving context switches.
== Uses ==
Line 12:
* Does not require context switching.
* Is more efficient because resources are shared within the same context.
* Is more flexible because all of [[depth buffer]], [[stencil buffer]], etc. can be acquired.
== Architecture ==
To use an FBO one simply creates an instance of it. Along with the FBO come several attachments
For example:
* Create an FBO and bind it.
* Attach the color buffer
* Attach the depth buffer
* Bind the native window FrameBuffer (id=0)
* Render the texture to screen with a pixel shader, dependent on both the Color information and depth information.
== External links ==
* [http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt Framebuffer object technical paper] {{Webarchive|url=https://web.archive.org/web/20130502110335/http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt |date=2013-05-02 }}
* [https://web.archive.org/web/20070108122530/http://openvidia.sourceforge.net/fbo.shtml Framebuffer object reference at openvidia]
* [http://www.songho.ca/opengl/gl_fbo.html Example code for Windows and Linux]
* [https://web.archive.org/web/20131101002803/http://www.opengl.org/wiki/GL_EXT_framebuffer_object EXT Framebuffer] (opengl.org)
[[Category:OpenGL]]
|