OGRE  2.3
Object-Oriented Graphics Rendering Engine
Ogre::GL3PlusFBOManager Class Reference

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

#include <OgreGL3PlusFBORenderTexture.h>

+ Inheritance diagram for Ogre::GL3PlusFBOManager:

Public Member Functions

 GL3PlusFBOManager (const GL3PlusSupport &support)
 
 ~GL3PlusFBOManager ()
 
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 MultiRenderTargetcreateMultiRenderTarget (const String &name)
 Create a multi render target. More...
 
virtual GL3PlusFBORenderTexturecreateRenderTexture (const String &name, const GL3PlusSurfaceDesc &target, bool writeGamma, uint fsaa)
 Create a texture rendertarget object. More...
 
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. More...
 
virtual PixelFormat getSupportedAlternative (PixelFormat format)
 Get the closest supported alternative format. More...
 
GLuint getTemporaryFBO (size_t i)
 Get a FBO without depth/stencil for temporary use, like blitting between textures. More...
 
void releaseRenderBuffer (const GL3PlusSurfaceDesc &surface)
 Release a render buffer. More...
 
void requestRenderBuffer (const GL3PlusSurfaceDesc &surface)
 Request the specify render buffer in case shared somewhere. More...
 
GL3PlusSurfaceDesc 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 GL3PlusRTTManagergetSingleton (void)
 
static GL3PlusRTTManagergetSingletonPtr (void)
 

Detailed Description

Factory for GL Frame Buffer Objects, and related things.

Constructor & Destructor Documentation

◆ GL3PlusFBOManager()

Ogre::GL3PlusFBOManager::GL3PlusFBOManager ( const GL3PlusSupport support)

◆ ~GL3PlusFBOManager()

Ogre::GL3PlusFBOManager::~GL3PlusFBOManager ( )

Member Function Documentation

◆ bind()

void Ogre::GL3PlusFBOManager::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::GL3PlusRTTManager.

◆ checkFormat()

bool Ogre::GL3PlusFBOManager::checkFormat ( PixelFormat  format)
inlinevirtual

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

Implements Ogre::GL3PlusRTTManager.

◆ createMultiRenderTarget()

virtual MultiRenderTarget* Ogre::GL3PlusFBOManager::createMultiRenderTarget ( const String name)
virtual

Create a multi render target.

Reimplemented from Ogre::GL3PlusRTTManager.

◆ createRenderTexture()

virtual GL3PlusFBORenderTexture* Ogre::GL3PlusFBOManager::createRenderTexture ( const String name,
const GL3PlusSurfaceDesc target,
bool  writeGamma,
uint  fsaa 
)
virtual

Create a texture rendertarget object.

Implements Ogre::GL3PlusRTTManager.

◆ getBestDepthStencil() [1/2]

virtual void Ogre::GL3PlusRTTManager::getBestDepthStencil ( GLenum  internalFormat,
GLenum *  depthFormat,
GLenum *  stencilFormat 
)
inlinevirtualinherited

◆ getBestDepthStencil() [2/2]

virtual void Ogre::GL3PlusFBOManager::getBestDepthStencil ( PixelFormat  depthFormat,
PixelFormat  fboFormat,
GLenum *  outDepthFormat,
GLenum *  outStencilFormat 
)
virtual

Get best depth and stencil supported for given internalFormat.

◆ getSingleton()

static GL3PlusRTTManager & Ogre::Singleton< GL3PlusRTTManager >::getSingleton ( void  )
inlinestaticinherited

◆ getSingletonPtr()

static GL3PlusRTTManager * Ogre::Singleton< GL3PlusRTTManager >::getSingletonPtr ( void  )
inlinestaticinherited

◆ getSupportedAlternative()

virtual PixelFormat Ogre::GL3PlusRTTManager::getSupportedAlternative ( PixelFormat  format)
virtualinherited

Get the closest supported alternative format.

If format is supported, returns format.

◆ getTemporaryFBO()

GLuint Ogre::GL3PlusFBOManager::getTemporaryFBO ( size_t  i)

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

◆ releaseRenderBuffer()

void Ogre::GL3PlusFBOManager::releaseRenderBuffer ( const GL3PlusSurfaceDesc surface)

Release a render buffer.

Ignore silently if surface.buffer is 0.

◆ requestRenderBuffer() [1/2]

void Ogre::GL3PlusFBOManager::requestRenderBuffer ( const GL3PlusSurfaceDesc surface)

Request the specify render buffer in case shared somewhere.

Ignore silently if surface.buffer is 0.

◆ requestRenderBuffer() [2/2]

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.

◆ unbind()

void Ogre::GL3PlusFBOManager::unbind ( RenderTarget target)
inlinevirtual

Unbind a certain render target.

No-op for FBOs.

Implements Ogre::GL3PlusRTTManager.


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