OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::GLES2FrameBufferObject Class Reference

Frame Buffer Object abstraction. More...

#include <OgreGLES2FrameBufferObject.h>

+ Collaboration diagram for Ogre::GLES2FrameBufferObject:

Public Member Functions

 GLES2FrameBufferObject (GLES2FBOManager *manager, uint fsaa)
 
 ~GLES2FrameBufferObject ()
 
void attachDepthBuffer (DepthBuffer *depthBuffer)
 This function acts very similar to. More...
 
void bind ()
 Bind FrameBufferObject. More...
 
void bindSurface (size_t attachment, const GLES2SurfaceDesc &target)
 Bind a surface to a certain attachment point. More...
 
void detachDepthBuffer ()
 
PixelFormat getFormat ()
 
GLsizei getFSAA ()
 
uint32 getHeight ()
 
GLES2FBOManagergetManager ()
 
const GLES2SurfaceDescgetSurface (size_t attachment)
 
uint32 getWidth ()
 Accessors. More...
 
void notifyOnContextLost ()
 See AndroidResource. More...
 
void notifyOnContextReset (const GLES2SurfaceDesc &target)
 See AndroidResource. More...
 
void swapBuffers ()
 Swap buffers - only useful when using multisample buffers. More...
 
void unbindSurface (size_t attachment)
 Unbind attachment. More...
 

Private Member Functions

void initialise ()
 Initialise object (find suitable depth and stencil format). More...
 

Private Attributes

GLES2SurfaceDesc mColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
GLES2SurfaceDesc mDepth
 
GLuint mFB
 
GLES2FBOManagermManager
 
GLES2SurfaceDesc mMultisampleColourBuffer
 
GLuint mMultisampleFB
 
GLsizei mNumSamples
 
GLES2SurfaceDesc mStencil
 

Detailed Description

Frame Buffer Object abstraction.

Definition at line 42 of file OgreGLES2FrameBufferObject.h.

Constructor & Destructor Documentation

Ogre::GLES2FrameBufferObject::GLES2FrameBufferObject ( GLES2FBOManager manager,
uint  fsaa 
)
Ogre::GLES2FrameBufferObject::~GLES2FrameBufferObject ( )

Member Function Documentation

void Ogre::GLES2FrameBufferObject::attachDepthBuffer ( DepthBuffer depthBuffer)

This function acts very similar to.

See also
GLES2FBORenderTexture::attachDepthBuffer The difference between D3D & OGL is that D3D setups the DepthBuffer before rendering, while OGL setups the DepthBuffer per FBO. So the DepthBuffer (RenderBuffer) needs to be attached for OGL.
void Ogre::GLES2FrameBufferObject::bind ( )

Bind FrameBufferObject.

void Ogre::GLES2FrameBufferObject::bindSurface ( size_t  attachment,
const GLES2SurfaceDesc target 
)

Bind a surface to a certain attachment point.

attachment: 0..OGRE_MAX_MULTIPLE_RENDER_TARGETS-1

void Ogre::GLES2FrameBufferObject::detachDepthBuffer ( )
PixelFormat Ogre::GLES2FrameBufferObject::getFormat ( )
GLsizei Ogre::GLES2FrameBufferObject::getFSAA ( )
uint32 Ogre::GLES2FrameBufferObject::getHeight ( )
GLES2FBOManager* Ogre::GLES2FrameBufferObject::getManager ( )
inline

Definition at line 78 of file OgreGLES2FrameBufferObject.h.

const GLES2SurfaceDesc& Ogre::GLES2FrameBufferObject::getSurface ( size_t  attachment)
inline

Definition at line 79 of file OgreGLES2FrameBufferObject.h.

uint32 Ogre::GLES2FrameBufferObject::getWidth ( )

Accessors.

void Ogre::GLES2FrameBufferObject::initialise ( )
private

Initialise object (find suitable depth and stencil format).

Must be called every time the bindings change. It fails with an exception (ERR_INVALIDPARAMS) if:

  • Attachment point 0 has no binding
  • Not all bound surfaces have the same size
  • Not all bound surfaces have the same internal format
void Ogre::GLES2FrameBufferObject::notifyOnContextLost ( )
void Ogre::GLES2FrameBufferObject::notifyOnContextReset ( const GLES2SurfaceDesc target)
void Ogre::GLES2FrameBufferObject::swapBuffers ( )

Swap buffers - only useful when using multisample buffers.

void Ogre::GLES2FrameBufferObject::unbindSurface ( size_t  attachment)

Unbind attachment.

Member Data Documentation

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
private

Definition at line 98 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mDepth
private

Definition at line 95 of file OgreGLES2FrameBufferObject.h.

GLuint Ogre::GLES2FrameBufferObject::mFB
private

Definition at line 92 of file OgreGLES2FrameBufferObject.h.

GLES2FBOManager* Ogre::GLES2FrameBufferObject::mManager
private

Definition at line 90 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mMultisampleColourBuffer
private

Definition at line 94 of file OgreGLES2FrameBufferObject.h.

GLuint Ogre::GLES2FrameBufferObject::mMultisampleFB
private

Definition at line 93 of file OgreGLES2FrameBufferObject.h.

GLsizei Ogre::GLES2FrameBufferObject::mNumSamples
private

Definition at line 91 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mStencil
private

Definition at line 96 of file OgreGLES2FrameBufferObject.h.


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