Classes | Public Member Functions | Static Public Member Functions | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes
Ogre::GLFBOManager Class Reference

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

#include <OgreGLFBORenderTexture.h>

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

 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 GLFBORenderTexturecreateRenderTexture (const String &name, const GLSurfaceDesc &target, bool writeGamma, uint fsaa)
 Create a texture rendertarget object.
virtual MultiRenderTargetcreateMultiRenderTarget (const String &name)
 Create a multi render target.
GLSurfaceDesc requestRenderBuffer (GLenum format, size_t width, size_t height, uint fsaa)
 Request a render buffer.
void requestRenderBuffer (const GLSurfaceDesc &surface)
 Request the specify render buffer in case shared somewhere.
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.

Static Public Member Functions

static GLRTTManagergetSingleton (void)
static GLRTTManagergetSingletonPtr (void)

Static Protected Attributes

static GLRTTManagermsSingleton

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.
bool mATIMode
 Buggy ATI driver?

Detailed Description

Factory for GL Frame Buffer Objects, and related things.

Definition at line 64 of file OgreGLFBORenderTexture.h.


Member Typedef Documentation

Definition at line 180 of file OgreGLFBORenderTexture.h.


Constructor & Destructor Documentation


Member Function Documentation

GLuint Ogre::GLFBOManager::_tryFormat ( GLenum  depthFormat,
GLenum  stencilFormat 
) [private]
bool Ogre::GLFBOManager::_tryPackedFormat ( GLenum  packedFormat) [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 105 of file OgreGLFBORenderTexture.h.

Create a multi render target.

Reimplemented from Ogre::GLRTTManager.

virtual GLFBORenderTexture* Ogre::GLFBOManager::createRenderTexture ( const String name,
const GLSurfaceDesc target,
bool  writeGamma,
uint  fsaa 
) [virtual]

Create a texture rendertarget object.

Implements Ogre::GLRTTManager.

Detect allowed FBO formats.

void Ogre::GLFBOManager::getBestDepthStencil ( GLenum  internalFormat,
GLenum *  depthFormat,
GLenum *  stencilFormat 
) [virtual]

Get best depth and stencil supported for given internalFormat.

Reimplemented from Ogre::GLRTTManager.

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

Definition at line 90 of file OgreSingleton.h.

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

Definition at line 92 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.

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

Definition at line 109 of file OgreGLFBORenderTexture.h.

Release a render buffer.

Ignore silently if surface.buffer is 0.

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

Request a render buffer.

If format is GL_NONE, return a zero buffer.

Request the specify render buffer in case shared somewhere.

Ignore silently if surface.buffer is 0.

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

Unbind a certain render target.

No-op for FBOs.

Implements Ogre::GLRTTManager.

Definition at line 77 of file OgreGLFBORenderTexture.h.


Member Data Documentation

Buggy ATI driver?

Definition at line 189 of file OgreGLFBORenderTexture.h.

Properties for all internal formats defined by OGRE.

Definition at line 129 of file OgreGLFBORenderTexture.h.

Definition at line 181 of file OgreGLFBORenderTexture.h.

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

Definition at line 75 of file OgreSingleton.h.

GLuint Ogre::GLFBOManager::mTempFBO [private]

Temporary FBO identifier.

Definition at line 186 of file OgreGLFBORenderTexture.h.


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

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