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 mDepth
GLuint mFB
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.


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

Definition at line 78 of file OgreGLES2FrameBufferObject.h.

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

Definition at line 79 of file OgreGLES2FrameBufferObject.h.

uint32 Ogre::GLES2FrameBufferObject::getWidth ( )


void Ogre::GLES2FrameBufferObject::initialise ( )

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]

Definition at line 98 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mDepth

Definition at line 95 of file OgreGLES2FrameBufferObject.h.

GLuint Ogre::GLES2FrameBufferObject::mFB

Definition at line 92 of file OgreGLES2FrameBufferObject.h.

GLES2FBOManager* Ogre::GLES2FrameBufferObject::mManager

Definition at line 90 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mMultisampleColourBuffer

Definition at line 94 of file OgreGLES2FrameBufferObject.h.

GLuint Ogre::GLES2FrameBufferObject::mMultisampleFB

Definition at line 93 of file OgreGLES2FrameBufferObject.h.

GLsizei Ogre::GLES2FrameBufferObject::mNumSamples

Definition at line 91 of file OgreGLES2FrameBufferObject.h.

GLES2SurfaceDesc Ogre::GLES2FrameBufferObject::mStencil

Definition at line 96 of file OgreGLES2FrameBufferObject.h.

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