Ogre::GLESFBOManager Class Reference

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

`#include <OgreGLESFBORenderTexture.h>`

Inheritance diagram for Ogre::GLESFBOManager:
[legend]

List of all members.

## 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

## Public Member Functions

| GLESFBOManager ()
| ~GLESFBOManager ()
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 GLESFBORenderTexture * | createRenderTexture (const String &name, const GLESSurfaceDesc &target, bool writeGamma, uint fsaa)
| Create a texture rendertarget object.
virtual MultiRenderTarget * | createMultiRenderTarget (const String &name)
| Create a multi render target.
GLESSurfaceDesc | requestRenderBuffer (GLenum format, size_t width, size_t height, uint fsaa)
| Request a render buffer.
void | requestRenderBuffer (const GLESSurfaceDesc &surface)
| Request the specify render buffer in case shared somewhere.
void | releaseRenderBuffer (const GLESSurfaceDesc &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.

## Static Public Member Functions

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

## Static Protected Attributes

static GLESRTTManager * | msSingleton

## Private Types

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

## Private Member Functions

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

## Private Attributes

FormatProperties | mProps [PF_COUNT]
| Properties for all internal formats defined by OGRE.
RenderBufferMap | mRenderBufferMap
GLuint | mTempFBO
| Temporary FBO identifier.

## Detailed Description

Factory for GL Frame Buffer Objects, and related things.

Definition at line 61 of file OgreGLESFBORenderTexture.h.

## Member Typedef Documentation

typedef map<RBFormat, RBRef>::type Ogre::GLESFBOManager::RenderBufferMap`[private]`

Definition at line 177 of file OgreGLESFBORenderTexture.h.

## Constructor & Destructor Documentation

Ogre::GLESFBOManager::GLESFBOManager | ( |  | ) |

Ogre::GLESFBOManager::~GLESFBOManager | ( |  | ) |

## Member Function Documentation

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

bool Ogre::GLESFBOManager::_tryPackedFormat | ( | GLenum | packedFormat | ) | `[private]`

void Ogre::GLESFBOManager::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::GLESRTTManager.

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

Check if a certain format is usable as FBO rendertarget format.

Implements Ogre::GLESRTTManager.

Definition at line 102 of file OgreGLESFBORenderTexture.h.

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

Create a multi render target.

Reimplemented from Ogre::GLESRTTManager.

virtual GLESFBORenderTexture* Ogre::GLESFBOManager::createRenderTexture | ( | const String & | name,
|  | const GLESSurfaceDesc & | target,
|  | bool | writeGamma,
|  | uint | fsaa
| ) |  | `[virtual]`

Create a texture rendertarget object.

Implements Ogre::GLESRTTManager.

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

Detect allowed FBO formats.

void Ogre::GLESFBOManager::getBestDepthStencil | ( | GLenum | internalFormat,
|  | GLenum * | depthFormat,
|  | GLenum * | stencilFormat
| ) |  | `[virtual]`

Get best depth and stencil supported for given internalFormat.

Reimplemented from Ogre::GLESRTTManager.

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

Definition at line 90 of file OgreSingleton.h.

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

Definition at line 92 of file OgreSingleton.h.

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

Get the closest supported alternative format.

If format is supported, returns format.

GLuint Ogre::GLESFBOManager::getTemporaryFBO | ( |  | ) |

Get a FBO without depth/stencil for temporary use, like blitting between textures.

Definition at line 106 of file OgreGLESFBORenderTexture.h.

void Ogre::GLESFBOManager::releaseRenderBuffer | ( | const GLESSurfaceDesc & | surface | ) |

Release a render buffer.

Ignore silently if surface.buffer is 0.

GLESSurfaceDesc Ogre::GLESFBOManager::requestRenderBuffer | ( | GLenum | format,
|  | size_t | width,
|  | size_t | height,
|  | uint | fsaa
| ) |  |

Request a render buffer.

If format is GL_NONE, return a zero buffer.

void Ogre::GLESFBOManager::requestRenderBuffer | ( | const GLESSurfaceDesc & | surface | ) |

Request the specify render buffer in case shared somewhere.

Ignore silently if surface.buffer is 0.

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

Unbind a certain render target.

No-op for FBOs.

Implements Ogre::GLESRTTManager.

Definition at line 74 of file OgreGLESFBORenderTexture.h.

## Member Data Documentation

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

Properties for all internal formats defined by OGRE.

Definition at line 126 of file OgreGLESFBORenderTexture.h.

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

Definition at line 178 of file OgreGLESFBORenderTexture.h.

GLESRTTManager * Ogre::Singleton< GLESRTTManager >::msSingleton`[static, protected, inherited]`

Definition at line 75 of file OgreSingleton.h.

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

Temporary FBO identifier.

Definition at line 183 of file OgreGLESFBORenderTexture.h.

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

- OgreGLESFBORenderTexture.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:57