# Ogre::GLFBOManager Class Reference

Factory for GL Frame Buffer Objects, and related things. More...

`#include <OgreGLFBORenderTexture.h>`

Inheritance diagram for Ogre::GLFBOManager:

List of all members.

## Public Member Functions

| GLFBOManager (bool atimode)
| ~GLFBOManager ()
void | bind (RenderTarget *target)
| Bind a certain render target if it is a FBO.
void | unbind (RenderTarget *target)
| Unbind a certain render target.
void | getBestDepthStencil (GLenum internalFormat, GLenum *depthFormat, GLenum *stencilFormat)
| Get best depth and stencil supported for given internalFormat.
virtual GLFBORenderTexture * | createRenderTexture (const String &name, const GLSurfaceDesc &target)
| Create a texture rendertarget object.
virtual MultiRenderTarget * | createMultiRenderTarget (const String &name)
| Create a multi render target.
GLFrameBufferObject * | createFrameBufferObject ()
| Create a framebuffer object.
void | destroyFrameBufferObject (GLFrameBufferObject *)
| Destroy a framebuffer object.
GLSurfaceDesc | requestRenderBuffer (GLenum format, size_t width, size_t height)
| Request a render buffer.
void | releaseRenderBuffer (const GLSurfaceDesc &surface)
| Release a render buffer.
bool | checkFormat (PixelFormat format)
| Check if a certain format is usable as FBO rendertarget format.
GLuint | getTemporaryFBO ()
| Get a FBO without depth/stencil for temporary use, like blitting between textures.
virtual PixelFormat | getSupportedAlternative (PixelFormat format)
| Get the closest supported alternative format.
| Singleton (void)

## Static Public Member Functions

static GLRTTManager & | getSingleton (void)
static GLRTTManager * | getSingletonPtr (void)

## Static Protected Attributes

static GLRTTManager * | ms_Singleton

## Private Types

typedef std::map< RBFormat, RBRef > | RenderBufferMap

## Private Member Functions

void | detectFBOFormats ()
| Detect allowed FBO formats.
GLuint | _tryFormat (GLenum depthFormat, GLenum stencilFormat)

## Private Attributes

FormatProperties | mProps [PF_COUNT]
| Properties for all internal formats defined by OGRE.
RenderBufferMap | mRenderBufferMap
GLuint | mTempFBO
| Temporary FBO identifier.
bool | mATIMode
| Buggy ATI driver?

## Classes

struct | FormatProperties
| Frame Buffer Object properties for a certain texture format. More...
struct | RBFormat
| Stencil and depth renderbuffers of the same format are re-used between surfaces of the same size and format. More...
struct | RBRef

## Detailed Description

Factory for GL Frame Buffer Objects, and related things.

Definition at line 53 of file OgreGLFBORenderTexture.h.

## Member Typedef Documentation

typedef std::map<RBFormat, RBRef> Ogre::GLFBOManager::RenderBufferMap `[private]`

| Definition at line 166 of file OgreGLFBORenderTexture.h.

## Constructor & Destructor Documentation

Ogre::GLFBOManager::GLFBOManager | ( | bool | atimode | ) |

Ogre::GLFBOManager::~GLFBOManager | ( |  | ) |

## Member Function Documentation

GLuint Ogre::GLFBOManager::_tryFormat | ( | GLenum | depthFormat,
|  | GLenum | stencilFormat
| ) | `[private]`

void Ogre::GLFBOManager::bind | ( | RenderTarget * | target | ) | `[virtual]`

| Bind a certain render target if it is a FBO. If it is not a FBO, bind the main frame buffer. Implements Ogre::GLRTTManager.

bool Ogre::GLFBOManager::checkFormat | ( | PixelFormat | format | ) | `[virtual]`

| Check if a certain format is usable as FBO rendertarget format. Implements Ogre::GLRTTManager. Definition at line 97 of file OgreGLFBORenderTexture.h. References mProps, and Ogre::GLFBOManager::FormatProperties::valid.

GLFrameBufferObject* Ogre::GLFBOManager::createFrameBufferObject | ( |  | ) |

| Create a framebuffer object.

virtual MultiRenderTarget* Ogre::GLFBOManager::createMultiRenderTarget | ( | const String & | name | ) | `[virtual]`

| Create a multi render target. Reimplemented from Ogre::GLRTTManager.

virtual GLFBORenderTexture* Ogre::GLFBOManager::createRenderTexture | ( | const String & | name,
|  | const GLSurfaceDesc & | target
| ) | `[virtual]`

| Create a texture rendertarget object. Implements Ogre::GLRTTManager.

void Ogre::GLFBOManager::destroyFrameBufferObject | ( | GLFrameBufferObject * |  | ) |

| Destroy a framebuffer object.

void Ogre::GLFBOManager::detectFBOFormats | ( |  | ) | `[private]`

| Detect allowed FBO formats.

void Ogre::GLFBOManager::getBestDepthStencil | ( | GLenum | internalFormat,
|  | GLenum * | depthFormat,
|  | GLenum * | stencilFormat
| ) |

| Get best depth and stencil supported for given internalFormat.

static GLRTTManager & Ogre::Singleton< GLRTTManager >::getSingleton | ( | void |  | ) | `[static, inherited]`

| Definition at line 69 of file OgreSingleton.h.

static GLRTTManager * Ogre::Singleton< GLRTTManager >::getSingletonPtr | ( | void |  | ) | `[static, inherited]`

| Definition at line 71 of file OgreSingleton.h.

virtual PixelFormat Ogre::GLRTTManager::getSupportedAlternative | ( | PixelFormat | format | ) | `[virtual, inherited]`

| Get the closest supported alternative format. If format is supported, returns format.

GLuint Ogre::GLFBOManager::getTemporaryFBO | ( |  | ) |

| Get a FBO without depth/stencil for temporary use, like blitting between textures. Definition at line 101 of file OgreGLFBORenderTexture.h. References mTempFBO.

void Ogre::GLFBOManager::releaseRenderBuffer | ( | const GLSurfaceDesc & | surface | ) |

| Release a render buffer. Ignore silently if surface.buffer is 0.

GLSurfaceDesc Ogre::GLFBOManager::requestRenderBuffer | ( | GLenum | format,
|  | size_t | width,
|  | size_t | height
| ) |

| Request a render buffer. If format is GL_NONE, return a zero buffer.

Ogre::Singleton< GLRTTManager >::Singleton | ( | void |  | ) | `[inherited]`

| Definition at line 57 of file OgreSingleton.h.

void Ogre::GLFBOManager::unbind | ( | RenderTarget * | target | ) | `[virtual]`

| Unbind a certain render target. No-op for FBOs. Implements Ogre::GLRTTManager. Definition at line 66 of file OgreGLFBORenderTexture.h.

## Member Data Documentation

bool Ogre::GLFBOManager::mATIMode `[private]`

| Buggy ATI driver? Definition at line 175 of file OgreGLFBORenderTexture.h.

FormatProperties Ogre::GLFBOManager::mProps[PF_COUNT]`[private]`

| Properties for all internal formats defined by OGRE. Definition at line 121 of file OgreGLFBORenderTexture.h. Referenced by checkFormat().

RenderBufferMap Ogre::GLFBOManager::mRenderBufferMap `[private]`

| Definition at line 167 of file OgreGLFBORenderTexture.h.

GLRTTManager * Ogre::Singleton< GLRTTManager >::ms_Singleton `[static, protected, inherited]`

| Definition at line 54 of file OgreSingleton.h.

GLuint Ogre::GLFBOManager::mTempFBO `[private]`

| Temporary FBO identifier. Definition at line 172 of file OgreGLFBORenderTexture.h. Referenced by getTemporaryFBO().

The documentation for this class was generated from the following file:

- OgreGLFBORenderTexture.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:48:32 2006