RenderTexture for GL ES FBO. More...
#include <OgreGLESFBORenderTexture.h>
Public Types | |
enum | FrameBuffer { FB_FRONT, FB_BACK, FB_AUTO } |
enum | StatFlags { SF_NONE = 0, SF_FPS = 1, SF_AVG_FPS = 2, SF_BEST_FPS = 4, SF_WORST_FPS = 8, SF_TRIANGLE_COUNT = 16, SF_ALL = 0xFFFF } |
Public Member Functions | |
GLESFBORenderTexture (GLESFBOManager *manager, const String &name, const GLESSurfaceDesc &target, bool writeGamma, uint fsaa) | |
virtual void | _beginUpdate () |
Method for manual management of rendering : fires 'preRenderTargetUpdate' and initialises statistics etc. More... | |
virtual void | _endUpdate () |
Method for manual management of rendering - finishes statistics calculation and fires 'postRenderTargetUpdate'. More... | |
virtual Impl * | _getImpl () |
Get rendersystem specific interface for this RenderTarget. More... | |
virtual void | _notifyCameraRemoved (const Camera *cam) |
Utility method to notify a render target that a camera has been removed, incase it was referring to it as a viewer. More... | |
virtual void | _updateAutoUpdatedViewports (bool updateStatistics=true) |
Method for manual management of rendering - renders only viewports that are auto updated. More... | |
virtual void | _updateViewport (int zorder, bool updateStatistics=true) |
Method for manual management of rendering - renders the given viewport (even if it is not autoupdated) More... | |
virtual void | _updateViewport (Viewport *viewport, bool updateStatistics=true) |
Method for manual management of rendering - renders the given viewport (even if it is not autoupdated) More... | |
virtual void | addListener (RenderTargetListener *listener) |
Add a listener to this RenderTarget which will be called back before & after rendering. More... | |
virtual Viewport * | addViewport (Camera *cam, int ZOrder=0, float left=0.0f, float top=0.0f, float width=1.0f, float height=1.0f) |
Adds a viewport to the rendering target. More... | |
virtual void | copyContentsToMemory (const PixelBox &dst, FrameBuffer buffer) |
Copies the current contents of the render target to a pixelbox. More... | |
virtual float | getAverageFPS () const |
Individual stats access - gets the average frames per second (FPS) since call to Root::startRendering. More... | |
virtual size_t | getBatchCount (void) const |
Gets the number of batches rendered in the last update() call. More... | |
virtual float | getBestFPS () const |
Individual stats access - gets the best frames per second (FPS) since call to Root::startRendering. More... | |
virtual float | getBestFrameTime () const |
Individual stats access - gets the best frame time. More... | |
virtual unsigned int | getColourDepth (void) const |
virtual void | getCustomAttribute (const String &name, void *pData) |
Gets a custom (maybe platform-specific) attribute. More... | |
virtual uint | getFSAA () const |
Indicates whether multisampling is performed on rendering and at what level. More... | |
virtual const String & | getFSAAHint () const |
Gets the FSAA hint (. More... | |
virtual unsigned int | getHeight (void) const |
virtual float | getLastFPS () const |
Individual stats access - gets the number of frames per second (FPS) based on the last frame rendered. More... | |
virtual void | getMetrics (unsigned int &width, unsigned int &height, unsigned int &colourDepth) |
Retrieve information about the render target. More... | |
virtual const String & | getName (void) const |
Retrieve target's name. More... | |
virtual unsigned short | getNumViewports (void) const |
Returns the number of viewports attached to this target. More... | |
virtual uchar | getPriority () const |
Gets the priority of a render target. More... | |
virtual void | getStatistics (float &lastFPS, float &avgFPS, float &bestFPS, float &worstFPS) const |
Retieves details of current rendering performance. More... | |
virtual const FrameStats & | getStatistics (void) const |
virtual size_t | getTriangleCount (void) const |
Gets the number of triangles rendered in the last update() call. More... | |
virtual Viewport * | getViewport (unsigned short index) |
Retrieves a pointer to the viewport with the given index. More... | |
virtual unsigned int | getWidth (void) const |
virtual float | getWorstFPS () const |
Individual stats access - gets the worst frames per second (FPS) since call to Root::startRendering. More... | |
virtual float | getWorstFrameTime () const |
Individual stats access - gets the worst frame time. More... | |
virtual bool | isActive () const |
Used to retrieve or set the active state of the render target. More... | |
virtual bool | isAutoUpdated (void) const |
Gets whether this target is automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used. More... | |
virtual bool | isHardwareGammaEnabled () const |
Indicates whether on rendering, linear colour space is converted to sRGB gamma colour space. More... | |
virtual bool | isPrimary (void) const |
Indicates whether this target is the primary window. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
virtual void | removeAllListeners (void) |
Removes all listeners from this instance. More... | |
virtual void | removeAllViewports (void) |
Removes all viewports on this target. More... | |
virtual void | removeListener (RenderTargetListener *listener) |
Removes a RenderTargetListener previously registered using addListener. More... | |
virtual void | removeViewport (int ZOrder) |
Removes a viewport at a given ZOrder. More... | |
bool | requiresTextureFlipping () const |
virtual void | resetStatistics (void) |
Resets saved frame-rate statistices. More... | |
virtual void | setActive (bool state) |
Used to set the active state of the render target. More... | |
virtual void | setAutoUpdated (bool autoupdate) |
Sets whether this target should be automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used. More... | |
virtual void | setPriority (uchar priority) |
Sets the priority of this render target in relation to the others. More... | |
PixelFormat | suggestPixelFormat () const |
Suggests a pixel format to use for extracting the data in this target, when calling copyContentsToMemory. More... | |
virtual void | swapBuffers (bool waitForVSync=true) |
Override needed to deal with multisample buffers. More... | |
virtual void | update (bool swapBuffers=true) |
Tells the target to update it's contents. More... | |
void | writeContentsToFile (const String &filename) |
Writes the current contents of the render target to the named file. More... | |
virtual String | writeContentsToTimestampedFile (const String &filenamePrefix, const String &filenameSuffix) |
Writes the current contents of the render target to the (PREFIX)(time-stamp)(SUFFIX) file. More... | |
Protected Types | |
typedef vector < RenderTargetListener * > ::type | RenderTargetListenerList |
typedef map< int, Viewport * > ::type | ViewportList |
Protected Member Functions | |
virtual void | firePostUpdate (void) |
internal method for firing events More... | |
virtual void | firePreUpdate (void) |
internal method for firing events More... | |
virtual void | fireViewportAdded (Viewport *vp) |
internal method for firing events More... | |
virtual void | fireViewportPostUpdate (Viewport *vp) |
internal method for firing events More... | |
virtual void | fireViewportPreUpdate (Viewport *vp) |
internal method for firing events More... | |
virtual void | fireViewportRemoved (Viewport *vp) |
internal method for firing events More... | |
virtual void | updateImpl () |
Internal implementation of update() More... | |
void | updateStats (void) |
Protected Attributes | |
bool | mActive |
bool | mAutoUpdate |
HardwarePixelBuffer * | mBuffer |
unsigned int | mColourDepth |
GLESFrameBufferObject | mFB |
size_t | mFrameCount |
uint | mFSAA |
String | mFSAAHint |
unsigned int | mHeight |
bool | mHwGamma |
bool | mIsDepthBuffered |
unsigned long | mLastSecond |
unsigned long | mLastTime |
RenderTargetListenerList | mListeners |
String | mName |
The name of this target. More... | |
uchar | mPriority |
The priority of the render target. More... | |
FrameStats | mStats |
Timer * | mTimer |
ViewportList | mViewportList |
List of viewports, map on Z-order. More... | |
unsigned int | mWidth |
size_t | mZOffset |
RenderTexture for GL ES FBO.
Definition at line 41 of file OgreGLESFBORenderTexture.h.
|
protectedinherited |
Definition at line 475 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 471 of file OgreRenderTarget.h.
|
inherited |
Enumerator | |
---|---|
FB_FRONT | |
FB_BACK | |
FB_AUTO |
Definition at line 90 of file OgreRenderTarget.h.
|
inherited |
Enumerator | |
---|---|
SF_NONE | |
SF_FPS | |
SF_AVG_FPS | |
SF_BEST_FPS | |
SF_WORST_FPS | |
SF_TRIANGLE_COUNT | |
SF_ALL |
Definition at line 67 of file OgreRenderTarget.h.
Ogre::GLESFBORenderTexture::GLESFBORenderTexture | ( | GLESFBOManager * | manager, |
const String & | name, | ||
const GLESSurfaceDesc & | target, | ||
bool | writeGamma, | ||
uint | fsaa | ||
) |
|
virtualinherited |
Method for manual management of rendering : fires 'preRenderTargetUpdate' and initialises statistics etc.
renderTarget->_beginUpdate(); renderTarget->_updateViewport(1); // which is not auto updated renderTarget->_updateViewport(2); // which is not auto updated renderTarget->_updateAutoUpdatedViewports(); renderTarget->_endUpdate(); renderTarget->swapBuffers(true);Please note that in that case, the zorder may not work as you expect, since you are responsible for calling _updateViewport in the correct order.
Reimplemented in Ogre::D3D9RenderWindow, and Ogre::EAGLWindow.
|
virtualinherited |
Method for manual management of rendering - finishes statistics calculation and fires 'postRenderTargetUpdate'.
Reimplemented in Ogre::D3D9RenderWindow.
|
virtualinherited |
Get rendersystem specific interface for this RenderTarget.
This is used by the RenderSystem to (un)bind this target, and to get specific information like surfaces and framebuffer objects.
|
virtualinherited |
Utility method to notify a render target that a camera has been removed, incase it was referring to it as a viewer.
|
virtualinherited |
Method for manual management of rendering - renders only viewports that are auto updated.
updateStatistics | Whether you want to update statistics or not. |
|
virtualinherited |
Method for manual management of rendering - renders the given viewport (even if it is not autoupdated)
zorder | The zorder of the viewport to update. |
updateStatistics | Whether you want to update statistics or not. |
|
virtualinherited |
Method for manual management of rendering - renders the given viewport (even if it is not autoupdated)
viewport | The viewport you want to update, it must be bound to the rendertarget. |
updateStatistics | Whether you want to update statistics or not. |
Reimplemented in Ogre::D3D9RenderWindow.
|
virtualinherited |
Add a listener to this RenderTarget which will be called back before & after rendering.
|
virtualinherited |
Adds a viewport to the rendering target.
cam | The camera from which the viewport contents will be rendered (mandatory) |
ZOrder | The relative order of the viewport with others on the target (allows overlapping viewports i.e. picture-in-picture). Higher ZOrders are on top of lower ones. The actual number is irrelevant, only the relative ZOrder matters (you can leave gaps in the numbering) |
left | The relative position of the left of the viewport on the target, as a value between 0 and 1. |
top | The relative position of the top of the viewport on the target, as a value between 0 and 1. |
width | The relative width of the viewport on the target, as a value between 0 and 1. |
height | The relative height of the viewport on the target, as a value between 0 and 1. |
|
virtualinherited |
Copies the current contents of the render target to a pixelbox.
Implements Ogre::RenderTarget.
|
protectedvirtualinherited |
internal method for firing events
|
protectedvirtualinherited |
internal method for firing events
|
protectedvirtualinherited |
internal method for firing events
|
protectedvirtualinherited |
internal method for firing events
|
protectedvirtualinherited |
internal method for firing events
|
protectedvirtualinherited |
internal method for firing events
|
virtualinherited |
Individual stats access - gets the average frames per second (FPS) since call to Root::startRendering.
|
virtualinherited |
Gets the number of batches rendered in the last update() call.
|
virtualinherited |
Individual stats access - gets the best frames per second (FPS) since call to Root::startRendering.
|
virtualinherited |
Individual stats access - gets the best frame time.
|
virtualinherited |
|
virtual |
Gets a custom (maybe platform-specific) attribute.
name | The name of the attribute. |
pData | Pointer to memory of the right kind of structure to receive the info. |
Reimplemented from Ogre::RenderTarget.
|
inlinevirtualinherited |
Indicates whether multisampling is performed on rendering and at what level.
Definition at line 357 of file OgreRenderTarget.h.
|
inlinevirtualinherited |
Gets the FSAA hint (.
Definition at line 361 of file OgreRenderTarget.h.
|
virtualinherited |
|
virtualinherited |
Individual stats access - gets the number of frames per second (FPS) based on the last frame rendered.
|
virtualinherited |
Retrieve information about the render target.
|
virtualinherited |
Retrieve target's name.
|
virtualinherited |
Returns the number of viewports attached to this target.
|
inlinevirtualinherited |
Gets the priority of a render target.
Definition at line 281 of file OgreRenderTarget.h.
|
virtualinherited |
Retieves details of current rendering performance.
lastFPS | Pointer to a float to receive the number of frames per second (FPS) based on the last frame rendered. |
avgFPS | Pointer to a float to receive the FPS rating based on an average of all the frames rendered since rendering began (the call to Root::startRendering). |
bestFPS | Pointer to a float to receive the best FPS rating that has been achieved since rendering began. |
worstFPS | Pointer to a float to receive the worst FPS rating seen so far. |
|
virtualinherited |
|
virtualinherited |
Gets the number of triangles rendered in the last update() call.
|
virtualinherited |
Retrieves a pointer to the viewport with the given index.
|
virtualinherited |
|
virtualinherited |
Individual stats access - gets the worst frames per second (FPS) since call to Root::startRendering.
|
virtualinherited |
Individual stats access - gets the worst frame time.
|
virtualinherited |
Used to retrieve or set the active state of the render target.
Reimplemented in Ogre::RenderWindow, Ogre::GTKWindow, Ogre::SDLWindow, Ogre::D3D9RenderWindow, Ogre::OSXCarbonWindow, Ogre::OSXWindow, and Ogre::Win32Window.
|
virtualinherited |
Gets whether this target is automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used.
|
inlinevirtualinherited |
Indicates whether on rendering, linear colour space is converted to sRGB gamma colour space.
This is the exact opposite conversion of what is indicated by Texture::isHardwareGammaEnabled, and can only be enabled on creation of the render target. For render windows, it's enabled through the 'gamma' creation misc parameter. For textures, it is enabled through the hwGamma parameter to the create call.
Definition at line 353 of file OgreRenderTarget.h.
|
virtualinherited |
Indicates whether this target is the primary window.
The primary window is special in that it is destroyed when ogre is shut down, and cannot be destroyed directly. This is the case because it holds the context for vertex, index buffers and textures.
Reimplemented in Ogre::RenderWindow.
|
inlineinherited |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
|
virtualinherited |
Removes all listeners from this instance.
|
virtualinherited |
Removes all viewports on this target.
|
virtualinherited |
Removes a RenderTargetListener previously registered using addListener.
|
virtualinherited |
Removes a viewport at a given ZOrder.
|
inlinevirtualinherited |
Implements Ogre::RenderTarget.
Definition at line 57 of file OgreGLESRenderTexture.h.
|
virtualinherited |
Resets saved frame-rate statistices.
|
virtualinherited |
Used to set the active state of the render target.
Reimplemented in Ogre::Win32Window.
|
virtualinherited |
Sets whether this target should be automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used.
autoupdate | If true, the render target is updated during the automatic render loop or when Root::_updateAllRenderTargets is called. If false, the target is only updated when its update() method is called explicitly. |
|
inlinevirtualinherited |
Sets the priority of this render target in relation to the others.
Definition at line 279 of file OgreRenderTarget.h.
|
virtualinherited |
Suggests a pixel format to use for extracting the data in this target, when calling copyContentsToMemory.
Reimplemented from Ogre::RenderTarget.
|
virtual |
Override needed to deal with multisample buffers.
Reimplemented from Ogre::RenderTarget.
|
virtualinherited |
Tells the target to update it's contents.
swapBuffers | For targets that support double-buffering, if set to true, the target will immediately swap it's buffers after update. Otherwise, the buffers are not swapped, and you have to call swapBuffers yourself sometime later. You might want to do this on some rendersystems which pause for queued rendering commands to complete before accepting swap buffers calls - so you could do other CPU tasks whilst the queued commands complete. Or, you might do this if you want custom control over your windows, such as for externally created windows. |
Reimplemented in Ogre::D3D9RenderTexture, Ogre::D3D10RenderWindow, Ogre::D3D11RenderWindow, and Ogre::D3D9MultiRenderTarget.
|
protectedvirtualinherited |
Internal implementation of update()
|
protectedinherited |
|
inherited |
Writes the current contents of the render target to the named file.
|
virtualinherited |
Writes the current contents of the render target to the (PREFIX)(time-stamp)(SUFFIX) file.
|
protectedinherited |
Definition at line 461 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 462 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 58 of file OgreRenderTexture.h.
|
protectedinherited |
Definition at line 450 of file OgreRenderTarget.h.
|
protected |
Definition at line 51 of file OgreGLESFBORenderTexture.h.
|
protectedinherited |
Definition at line 459 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 466 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 467 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 449 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 464 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 451 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 457 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 458 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 476 of file OgreRenderTarget.h.
|
protectedinherited |
The name of this target.
Definition at line 444 of file OgreRenderTarget.h.
|
protectedinherited |
The priority of the render target.
Definition at line 446 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 454 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 456 of file OgreRenderTarget.h.
|
protectedinherited |
List of viewports, map on Z-order.
Definition at line 473 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 448 of file OgreRenderTarget.h.
|
protectedinherited |
Definition at line 59 of file OgreRenderTexture.h.