OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
Factory for GL Frame Buffer Objects, and related things. More...
#include <OgreGL3PlusFBORenderTexture.h>
Public Member Functions | |
GL3PlusFBOManager (const GL3PlusSupport &support) | |
~GL3PlusFBOManager () | |
void | bind (RenderTarget *target) |
Bind a certain render target if it is a FBO. | |
bool | checkFormat (PixelFormat format) |
Check if a certain format is usable as FBO rendertarget format. | |
virtual MultiRenderTarget * | createMultiRenderTarget (const String &name) |
Create a multi render target. | |
virtual GL3PlusFBORenderTexture * | createRenderTexture (const String &name, const GL3PlusSurfaceDesc &target, bool writeGamma, uint fsaa) |
Create a texture rendertarget object. | |
virtual void | getBestDepthStencil (GLenum internalFormat, GLenum *depthFormat, GLenum *stencilFormat) |
virtual void | getBestDepthStencil (PixelFormat depthFormat, PixelFormat fboFormat, GLenum *outDepthFormat, GLenum *outStencilFormat) |
Get best depth and stencil supported for given internalFormat. | |
virtual PixelFormat | getSupportedAlternative (PixelFormat format) |
Get the closest supported alternative format. | |
GLuint | getTemporaryFBO (size_t i) |
Get a FBO without depth/stencil for temporary use, like blitting between textures. | |
void | releaseRenderBuffer (const GL3PlusSurfaceDesc &surface) |
Release a render buffer. | |
void | requestRenderBuffer (const GL3PlusSurfaceDesc &surface) |
Request the specify render buffer in case shared somewhere. | |
GL3PlusSurfaceDesc | requestRenderBuffer (GLenum format, uint32 width, uint32 height, uint fsaa) |
Request a render buffer. | |
void | unbind (RenderTarget *target) |
Unbind a certain render target. | |
Static Public Member Functions | |
static GL3PlusRTTManager & | getSingleton (void) |
static GL3PlusRTTManager * | getSingletonPtr (void) |
Factory for GL Frame Buffer Objects, and related things.
Ogre::GL3PlusFBOManager::GL3PlusFBOManager | ( | const GL3PlusSupport & | support | ) |
Ogre::GL3PlusFBOManager::~GL3PlusFBOManager | ( | ) |
|
virtual |
Bind a certain render target if it is a FBO.
If it is not a FBO, bind the main frame buffer.
Implements Ogre::GL3PlusRTTManager.
|
inlinevirtual |
Check if a certain format is usable as FBO rendertarget format.
Implements Ogre::GL3PlusRTTManager.
|
virtual |
Create a multi render target.
Reimplemented from Ogre::GL3PlusRTTManager.
|
virtual |
Create a texture rendertarget object.
Implements Ogre::GL3PlusRTTManager.
|
inlinevirtualinherited |
|
virtual |
Get best depth and stencil supported for given internalFormat.
|
inlinestaticinherited |
|
inlinestaticinherited |
|
virtualinherited |
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.
void Ogre::GL3PlusFBOManager::releaseRenderBuffer | ( | const GL3PlusSurfaceDesc & | surface | ) |
Release a render buffer.
Ignore silently if surface.buffer is 0.
void Ogre::GL3PlusFBOManager::requestRenderBuffer | ( | const GL3PlusSurfaceDesc & | surface | ) |
Request the specify render buffer in case shared somewhere.
Ignore silently if surface.buffer is 0.
GL3PlusSurfaceDesc Ogre::GL3PlusFBOManager::requestRenderBuffer | ( | GLenum | format, |
uint32 | width, | ||
uint32 | height, | ||
uint | fsaa | ||
) |
Request a render buffer.
If format is GL_NONE, return a zero buffer.
|
inlinevirtual |