Ogre::GLES2FBOManager Class Reference

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

`#include <OgreGLES2FBORenderTexture.h>`

Inheritance diagram for Ogre::GLES2FBOManager:
[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

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

## Static Protected Attributes

static GLES2RTTManager * | 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 ES 2 Frame Buffer Objects, and related things.

Definition at line 61 of file OgreGLES2FBORenderTexture.h.

## Member Typedef Documentation

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

Definition at line 177 of file OgreGLES2FBORenderTexture.h.

## Constructor & Destructor Documentation

Ogre::GLES2FBOManager::GLES2FBOManager | ( |  | ) |

Ogre::GLES2FBOManager::~GLES2FBOManager | ( |  | ) |

## Member Function Documentation

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

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

void Ogre::GLES2FBOManager::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::GLES2RTTManager.

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

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

Implements Ogre::GLES2RTTManager.

Definition at line 102 of file OgreGLES2FBORenderTexture.h.

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

Create a multi render target.

Reimplemented from Ogre::GLES2RTTManager.

virtual GLES2FBORenderTexture* Ogre::GLES2FBOManager::createRenderTexture | ( | const String & | name,
|  | const GLES2SurfaceDesc & | target,
|  | bool | writeGamma,
|  | uint | fsaa
| ) |  | `[virtual]`

Create a texture rendertarget object.

Implements Ogre::GLES2RTTManager.

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

Detect allowed FBO formats.

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

Get best depth and stencil supported for given internalFormat.

Reimplemented from Ogre::GLES2RTTManager.

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

Definition at line 90 of file OgreSingleton.h.

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

Definition at line 92 of file OgreSingleton.h.

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

Get the closest supported alternative format.

If format is supported, returns format.

GLuint Ogre::GLES2FBOManager::getTemporaryFBO | ( |  | ) |

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

Definition at line 106 of file OgreGLES2FBORenderTexture.h.

void Ogre::GLES2FBOManager::releaseRenderBuffer | ( | const GLES2SurfaceDesc & | surface | ) |

Release a render buffer.

Ignore silently if surface.buffer is 0.

GLES2SurfaceDesc Ogre::GLES2FBOManager::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::GLES2FBOManager::requestRenderBuffer | ( | const GLES2SurfaceDesc & | surface | ) |

Request the specify render buffer in case shared somewhere.

Ignore silently if surface.buffer is 0.

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

Unbind a certain render target.

No-op for FBOs.

Implements Ogre::GLES2RTTManager.

Definition at line 74 of file OgreGLES2FBORenderTexture.h.

## Member Data Documentation

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

Properties for all internal formats defined by OGRE.

Definition at line 126 of file OgreGLES2FBORenderTexture.h.

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

Definition at line 178 of file OgreGLES2FBORenderTexture.h.

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

Definition at line 75 of file OgreSingleton.h.

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

Temporary FBO identifier.

Definition at line 183 of file OgreGLES2FBORenderTexture.h.

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

- OgreGLES2FBORenderTexture.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:28:01