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

Frame Buffer Object abstraction. More...

#include <OgreGLESFrameBufferObject.h>

+ Collaboration diagram for Ogre::GLESFrameBufferObject:

Public Member Functions

 GLESFrameBufferObject (GLESFBOManager *manager, uint fsaa)
 
 ~GLESFrameBufferObject ()
 
void attachDepthBuffer (DepthBuffer *depthBuffer)
 This function acts very similar to. More...
 
void bind ()
 Bind FrameBufferObject. More...
 
void bindSurface (size_t attachment, const GLESSurfaceDesc &target)
 Bind a surface to a certain attachment point. More...
 
void detachDepthBuffer ()
 
PixelFormat getFormat ()
 
GLsizei getFSAA ()
 
uint32 getHeight ()
 
GLESFBOManagergetManager ()
 
const GLESSurfaceDescgetSurface (size_t attachment)
 
uint32 getWidth ()
 Accessors. More...
 
void notifyOnContextLost ()
 See AndroidResource. More...
 
void notifyOnContextReset (const GLESSurfaceDesc &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

GLESSurfaceDesc mColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
GLESSurfaceDesc mDepth
 
GLuint mFB
 
GLESFBOManagermManager
 
GLESSurfaceDesc mMultisampleColourBuffer
 
GLuint mMultisampleFB
 
GLsizei mNumSamples
 
GLESSurfaceDesc mStencil
 

Detailed Description

Frame Buffer Object abstraction.

Definition at line 41 of file OgreGLESFrameBufferObject.h.

Constructor & Destructor Documentation

Ogre::GLESFrameBufferObject::GLESFrameBufferObject ( GLESFBOManager manager,
uint  fsaa 
)
Ogre::GLESFrameBufferObject::~GLESFrameBufferObject ( )

Member Function Documentation

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

This function acts very similar to.

See also
GLESFBORenderTexture::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::GLESFrameBufferObject::bind ( )

Bind FrameBufferObject.

void Ogre::GLESFrameBufferObject::bindSurface ( size_t  attachment,
const GLESSurfaceDesc target 
)

Bind a surface to a certain attachment point.

attachment: 0..OGRE_MAX_MULTIPLE_RENDER_TARGETS-1

void Ogre::GLESFrameBufferObject::detachDepthBuffer ( )
PixelFormat Ogre::GLESFrameBufferObject::getFormat ( )
GLsizei Ogre::GLESFrameBufferObject::getFSAA ( )
uint32 Ogre::GLESFrameBufferObject::getHeight ( )
GLESFBOManager* Ogre::GLESFrameBufferObject::getManager ( )
inline

Definition at line 77 of file OgreGLESFrameBufferObject.h.

const GLESSurfaceDesc& Ogre::GLESFrameBufferObject::getSurface ( size_t  attachment)
inline

Definition at line 78 of file OgreGLESFrameBufferObject.h.

uint32 Ogre::GLESFrameBufferObject::getWidth ( )

Accessors.

void Ogre::GLESFrameBufferObject::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::GLESFrameBufferObject::notifyOnContextLost ( )
void Ogre::GLESFrameBufferObject::notifyOnContextReset ( const GLESSurfaceDesc target)
void Ogre::GLESFrameBufferObject::swapBuffers ( )

Swap buffers - only useful when using multisample buffers.

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

Unbind attachment.

Member Data Documentation

GLESSurfaceDesc Ogre::GLESFrameBufferObject::mColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
private

Definition at line 97 of file OgreGLESFrameBufferObject.h.

GLESSurfaceDesc Ogre::GLESFrameBufferObject::mDepth
private

Definition at line 94 of file OgreGLESFrameBufferObject.h.

GLuint Ogre::GLESFrameBufferObject::mFB
private

Definition at line 91 of file OgreGLESFrameBufferObject.h.

GLESFBOManager* Ogre::GLESFrameBufferObject::mManager
private

Definition at line 89 of file OgreGLESFrameBufferObject.h.

GLESSurfaceDesc Ogre::GLESFrameBufferObject::mMultisampleColourBuffer
private

Definition at line 93 of file OgreGLESFrameBufferObject.h.

GLuint Ogre::GLESFrameBufferObject::mMultisampleFB
private

Definition at line 92 of file OgreGLESFrameBufferObject.h.

GLsizei Ogre::GLESFrameBufferObject::mNumSamples
private

Definition at line 90 of file OgreGLESFrameBufferObject.h.

GLESSurfaceDesc Ogre::GLESFrameBufferObject::mStencil
private

Definition at line 95 of file OgreGLESFrameBufferObject.h.


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