fbpx
Wikipedia

Framebuffer object

The frame buffer object architecture (FBO) is an extension to OpenGL for doing flexible off-screen rendering, including rendering to a 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 edit

The FBO has two main uses: The post-processing of rendered images and composition between different scenes. Some examples are:

  1. The rendered image is captured and subjected to Fragment Shaders or other manipulations. This allows for many of today's popular computer graphics effects to be carried out, including the addition of a blurring or bloom effect.
  2. Can be used to create views of other scenes, for example: a TV in a house showing the view from a secondary camera. A scene can be rendered through an FBO to a texture, then that texture can be applied to the surface of a TV. This is sometimes called "Render to Texture" or RTT.

Advantages over other methods edit

Methods involving the FBO are considered superior because:

  • It is easier to set up than most other methods.
  • 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 edit

To use an FBO one simply creates an instance of it. Along with the FBO come several attachments. One can then attach these to a chosen receiver: either a texture, or a render buffer.

For example:

  • Create an FBO and bind it.
  • Attach the color buffer (either as a RenderBuffer or a texture) to the FBO.
  • Attach the depth buffer (either as a RenderBuffer or a texture) to the FBO.
  • 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 edit

  • Framebuffer object technical paper 2013-05-02 at the Wayback Machine
  • Example code for Windows and Linux
  • (opengl.org)

framebuffer, object, frame, buffer, object, architecture, extension, opengl, doing, flexible, screen, rendering, including, rendering, texture, capturing, images, that, would, normally, drawn, screen, used, implement, large, variety, image, filters, post, proc. The frame buffer object architecture FBO is an extension to OpenGL for doing flexible off screen rendering including rendering to a 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 Contents 1 Uses 2 Advantages over other methods 3 Architecture 4 External linksUses editThe FBO has two main uses The post processing of rendered images and composition between different scenes Some examples are The rendered image is captured and subjected to Fragment Shaders or other manipulations This allows for many of today s popular computer graphics effects to be carried out including the addition of a blurring or bloom effect Can be used to create views of other scenes for example a TV in a house showing the view from a secondary camera A scene can be rendered through an FBO to a texture then that texture can be applied to the surface of a TV This is sometimes called Render to Texture or RTT Advantages over other methods editMethods involving the FBO are considered superior because It is easier to set up than most other methods 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 editTo use an FBO one simply creates an instance of it Along with the FBO come several attachments One can then attach these to a chosen receiver either a texture or a render buffer For example Create an FBO and bind it Attach the color buffer either as a RenderBuffer or a texture to the FBO Attach the depth buffer either as a RenderBuffer or a texture to the FBO 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 editFramebuffer object technical paper Archived 2013 05 02 at the Wayback Machine Framebuffer object reference at openvidia Example code for Windows and Linux EXT Framebuffer opengl org Retrieved from https en wikipedia org w index php title Framebuffer object amp oldid 1124064121, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.