![]() |
OGRE 14.4
Object-Oriented Graphics Rendering Engine
|
This class represents a render target that renders to multiple RenderTextures at once. More...
#include <OgreRenderTexture.h>
Inheritance diagram for Ogre::MultiRenderTarget:Public Types | |
| typedef std::vector< RenderTexture * > | BoundSufaceList |
Public Types inherited from Ogre::RenderTarget | |
| enum | FrameBuffer { FB_FRONT , FB_BACK , FB_AUTO } |
Public Member Functions | |
| MultiRenderTarget (const String &name) | |
| void | bindSurface (size_t attachment, RenderTexture *target) |
| Bind a surface to a certain attachment point. | |
| void | copyContentsToMemory (const Box &src, const PixelBox &dst, FrameBuffer buffer=FB_AUTO) override |
| Error throwing implementation, it's not possible to write a MultiRenderTarget to disk. | |
| virtual void | copyContentsToMemory (const Box &src, const PixelBox &dst, FrameBuffer buffer=FB_AUTO)=0 |
| Copies the current contents of the render target to a pixelbox. | |
| void | copyContentsToMemory (const PixelBox &dst, FrameBuffer buffer=FB_AUTO) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| RenderTexture * | getBoundSurface (size_t index) |
| Get a pointer to a bound surface. | |
| const BoundSufaceList & | getBoundSurfaceList () const |
| Get a list of the surfaces which have been bound. | |
| PixelFormat | suggestPixelFormat () const override |
| Irrelevant implementation since cannot copy. | |
| virtual void | unbindSurface (size_t attachment) |
| Unbind attachment. | |
Public Member Functions inherited from Ogre::RenderTarget | |
| RenderTarget () | |
| virtual | ~RenderTarget () |
| virtual void | _beginUpdate () |
| Method for manual management of rendering : fires 'preRenderTargetUpdate' and initialises statistics etc. | |
| virtual void | _detachDepthBuffer () |
| Detaches DepthBuffer without notifying it from the detach. | |
| virtual void | _endUpdate () |
| Method for manual management of rendering - finishes statistics calculation and fires 'postRenderTargetUpdate'. | |
| void | _notifyCameraRemoved (const Camera *cam) |
| Utility method to notify a render target that a camera has been removed, in case it was referring to it as a viewer. | |
| void | _updateAutoUpdatedViewports (bool updateStatistics=true) |
| Method for manual management of rendering - renders only viewports that are auto updated. | |
| void | _updateViewport (int zorder, bool updateStatistics=true) |
| Method for manual management of rendering - renders the given viewport (even if it is not autoupdated) | |
| virtual void | _updateViewport (Viewport *viewport, bool updateStatistics=true) |
| Method for manual management of rendering - renders the given viewport (even if it is not autoupdated) | |
| void | addListener (RenderTargetListener *listener) |
| Add a listener to this RenderTarget which will be called back before & after rendering. | |
| Viewport * | addViewport (Camera *cam, int ZOrder, float left, float top=0.0f, float width=1.0f, float height=1.0f) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| Viewport * | addViewport (Camera *cam, int ZOrder=0, FloatRect rect={0.0f, 0.0f, 1.0f, 1.0f}) |
| Adds a viewport to the rendering target. | |
| virtual bool | attachDepthBuffer (DepthBuffer *depthBuffer) |
| void | copyContentsToMemory (const PixelBox &dst, FrameBuffer buffer=FB_AUTO) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | detachDepthBuffer () |
| uint | getCustomAttribute (const String &name) |
| simplified API for bindings | |
| virtual void | getCustomAttribute (const String &name, void *pData) |
| Retrieve a platform or API-specific piece of information. | |
| DepthBuffer * | getDepthBuffer () const |
| uint16 | getDepthBufferPool () const |
| uint | getFSAA () const |
| Indicates whether multisampling is performed on rendering and at what level. | |
| const String & | getFSAAHint () const |
| RenderSystem specific FSAA option. See RenderSystem::_createRenderWindow for details. | |
| uint32 | getHeight (void) const |
| void | getMetrics (unsigned int &width, unsigned int &height) |
| Retrieve information about the render target. | |
| const String & | getName (void) const |
| Retrieve target's name. | |
| unsigned short | getNumViewports (void) const |
| Returns the number of viewports attached to this target. | |
| uchar | getPriority () const |
| Gets the priority of a render target. | |
| const FrameStats & | getStatistics (void) const |
| Retrieves details of current rendering performance. | |
| Viewport * | getViewport (unsigned short index) |
| Retrieves a pointer to the viewport with the given index. | |
| Viewport * | getViewportByZOrder (int ZOrder) |
| Retrieves a pointer to the viewport with the given Z-order. | |
| uint32 | getWidth (void) const |
| bool | hasViewportWithZOrder (int ZOrder) |
| Returns true if and only if a viewport exists at the given Z-order. | |
| void | insertListener (RenderTargetListener *listener, const unsigned int pos=0) |
| same as addListener, but force the position in the vector, so we can control the call order | |
| virtual bool | isActive () const |
| Used to retrieve or set the active state of the render target. | |
| bool | isAutoUpdated (void) const |
| Gets whether this target is automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used. | |
| bool | isHardwareGammaEnabled () const |
| Indicates whether on rendering, linear colour space is converted to sRGB gamma colour space. | |
| virtual bool | isPrimary (void) const |
| Indicates whether this target is the primary window. | |
| virtual bool | isStereoEnabled (void) const |
| Indicates whether stereo is currently enabled for this target. | |
| void | removeAllListeners (void) |
| Removes all listeners from this instance. | |
| void | removeAllViewports (void) |
| Removes all viewports on this target. | |
| void | removeListener (RenderTargetListener *listener) |
| Removes a RenderTargetListener previously registered using addListener. | |
| void | removeViewport (int ZOrder) |
| Removes a viewport at a given Z-order. | |
| virtual bool | requiresTextureFlipping () const =0 |
| void | resetStatistics (void) |
| Resets saved frame-rate statistices. | |
| void | setActive (bool state) |
| Used to set the active state of the render target. | |
| void | setAutoUpdated (bool autoupdate) |
| Sets whether this target should be automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used. | |
| void | setDepthBufferPool (uint16 poolId) |
| Sets the pool ID this RenderTarget should query from. | |
| virtual void | setFSAA (uint fsaa, const String &fsaaHint) |
| Set the level of multisample AA to be used if hardware support it. | |
| void | setPriority (uchar priority) |
| Sets the priority of this render target in relation to the others. | |
| virtual void | swapBuffers () |
| Swaps the frame buffers to display the next frame. | |
| void | update (bool swapBuffers=true) |
| Tells the target to update it's contents. | |
| void | writeContentsToFile (const String &filename) |
| Writes the current contents of the render target to the named file. | |
| String | writeContentsToTimestampedFile (const String &filenamePrefix, const String &filenameSuffix) |
| Writes the current contents of the render target to the (PREFIX)(time-stamp)(SUFFIX) file. | |
This class represents a render target that renders to multiple RenderTextures at once.
Surfaces can be bound and unbound at will, as long as the following constraints are met:
| typedef std::vector<RenderTexture*> Ogre::MultiRenderTarget::BoundSufaceList |
| void Ogre::MultiRenderTarget::bindSurface | ( | size_t | attachment, |
| RenderTexture * | target | ||
| ) |
Bind a surface to a certain attachment point.
| attachment | 0 .. mCapabilities->getNumMultiRenderTargets()-1 |
| target | RenderTexture to bind. |
It does not bind the surface and fails with an exception (ERR_INVALIDPARAMS) if:
Unbind attachment.
|
overridevirtual |
Error throwing implementation, it's not possible to write a MultiRenderTarget to disk.
Implements Ogre::RenderTarget.
|
inlineoverridevirtual |
Irrelevant implementation since cannot copy.
Reimplemented from Ogre::RenderTarget.
References Ogre::PF_UNKNOWN.
|
inline |
Get a list of the surfaces which have been bound.
|
inline |
Get a pointer to a bound surface.
|
virtual |
Copies the current contents of the render target to a pixelbox.
Implements Ogre::RenderTarget.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.