Factory for GL Frame Buffer Objects, and related things. More...
#include <OgreGLFBORenderTexture.h>

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. More... | |
| bool | checkFormat (PixelFormat format) |
| Check if a certain format is usable as FBO rendertarget format. More... | |
| virtual MultiRenderTarget * | createMultiRenderTarget (const String &name) |
| Create a multi render target. More... | |
| virtual GLFBORenderTexture * | createRenderTexture (const String &name, const GLSurfaceDesc &target, bool writeGamma, uint fsaa) |
| Create a texture rendertarget object. More... | |
| void | getBestDepthStencil (GLenum internalFormat, GLenum *depthFormat, GLenum *stencilFormat) |
| Get best depth and stencil supported for given internalFormat. More... | |
| virtual PixelFormat | getSupportedAlternative (PixelFormat format) |
| Get the closest supported alternative format. More... | |
| GLuint | getTemporaryFBO () |
| Get a FBO without depth/stencil for temporary use, like blitting between textures. More... | |
| void | releaseRenderBuffer (const GLSurfaceDesc &surface) |
| Release a render buffer. More... | |
| void | requestRenderBuffer (const GLSurfaceDesc &surface) |
| Request the specify render buffer in case shared somewhere. More... | |
| GLSurfaceDesc | requestRenderBuffer (GLenum format, uint32 width, uint32 height, uint fsaa) |
| Request a render buffer. More... | |
| void | unbind (RenderTarget *target) |
| Unbind a certain render target. More... | |
Static Public Member Functions | |
| static GLRTTManager & | getSingleton (void) |
| static GLRTTManager * | getSingletonPtr (void) |
Static Protected Attributes | |
| static GLRTTManager * | msSingleton |
Private Types | |
| typedef map< RBFormat, RBRef >::type | RenderBufferMap |
Private Member Functions | |
| void | _createTempFramebuffer (GLuint fmt, GLuint &fb, GLuint &tid) |
| GLuint | _tryFormat (GLenum depthFormat, GLenum stencilFormat) |
| bool | _tryPackedFormat (GLenum packedFormat) |
| void | detectFBOFormats () |
| Detect allowed FBO formats. More... | |
Private Attributes | |
| bool | mATIMode |
| Buggy ATI driver? More... | |
| FormatProperties | mProps [PF_COUNT] |
| Properties for all internal formats defined by OGRE. More... | |
| RenderBufferMap | mRenderBufferMap |
| GLuint | mTempFBO |
| Temporary FBO identifier. More... | |
Factory for GL Frame Buffer Objects, and related things.
Definition at line 64 of file OgreGLFBORenderTexture.h.
|
private |
Definition at line 181 of file OgreGLFBORenderTexture.h.
| Ogre::GLFBOManager::GLFBOManager | ( | bool | atimode | ) |
| Ogre::GLFBOManager::~GLFBOManager | ( | ) |
|
private |
|
private |
|
private |
|
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.
|
virtual |
Check if a certain format is usable as FBO rendertarget format.
Implements Ogre::GLRTTManager.
Definition at line 105 of file OgreGLFBORenderTexture.h.
|
virtual |
Create a multi render target.
Reimplemented from Ogre::GLRTTManager.
|
virtual |
Create a texture rendertarget object.
Implements Ogre::GLRTTManager.
|
private |
Detect allowed FBO formats.
|
virtual |
Get best depth and stencil supported for given internalFormat.
Reimplemented from Ogre::GLRTTManager.
|
staticinherited |
Definition at line 90 of file OgreSingleton.h.
|
staticinherited |
Definition at line 92 of file OgreSingleton.h.
|
virtualinherited |
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 109 of file OgreGLFBORenderTexture.h.
| void Ogre::GLFBOManager::releaseRenderBuffer | ( | const GLSurfaceDesc & | surface | ) |
Release a render buffer.
Ignore silently if surface.buffer is 0.
| void Ogre::GLFBOManager::requestRenderBuffer | ( | const GLSurfaceDesc & | surface | ) |
Request the specify render buffer in case shared somewhere.
Ignore silently if surface.buffer is 0.
| GLSurfaceDesc Ogre::GLFBOManager::requestRenderBuffer | ( | GLenum | format, |
| uint32 | width, | ||
| uint32 | height, | ||
| uint | fsaa | ||
| ) |
Request a render buffer.
If format is GL_NONE, return a zero buffer.
|
virtual |
Unbind a certain render target.
No-op for FBOs.
Implements Ogre::GLRTTManager.
Definition at line 77 of file OgreGLFBORenderTexture.h.
|
private |
Buggy ATI driver?
Definition at line 190 of file OgreGLFBORenderTexture.h.
|
private |
Properties for all internal formats defined by OGRE.
Definition at line 129 of file OgreGLFBORenderTexture.h.
|
private |
Definition at line 182 of file OgreGLFBORenderTexture.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
private |
Temporary FBO identifier.
Definition at line 187 of file OgreGLFBORenderTexture.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15