OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
This class represents a render target that renders to multiple RenderTextures at once. More...
#include <OgreRenderTexture.h>
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) | |
virtual 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'. | |
virtual 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. | |
virtual void | _updateAutoUpdatedViewports (bool updateStatistics=true) |
Method for manual management of rendering - renders only viewports that are auto updated. | |
virtual 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) | |
virtual void | addListener (RenderTargetListener *listener) |
Add a listener to this RenderTarget which will be called back before & after rendering. | |
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. | |
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. | |
virtual 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 |
virtual uint | getFSAA () const |
Indicates whether multisampling is performed on rendering and at what level. | |
virtual const String & | getFSAAHint () const |
RenderSystem specific FSAA option. See RenderSystem::_createRenderWindow for details. | |
virtual uint32 | getHeight (void) const |
void | getMetrics (unsigned int &width, unsigned int &height) |
Retrieve information about the render target. | |
virtual const String & | getName (void) const |
Retrieve target's name. | |
virtual unsigned short | getNumViewports (void) const |
Returns the number of viewports attached to this target. | |
virtual uchar | getPriority () const |
Gets the priority of a render target. | |
const FrameStats & | getStatistics (void) const |
Retrieves details of current rendering performance. | |
virtual Viewport * | getViewport (unsigned short index) |
Retrieves a pointer to the viewport with the given index. | |
virtual Viewport * | getViewportByZOrder (int ZOrder) |
Retrieves a pointer to the viewport with the given Z-order. | |
virtual uint32 | getWidth (void) const |
virtual bool | hasViewportWithZOrder (int ZOrder) |
Returns true if and only if a viewport exists at the given Z-order. | |
virtual 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. | |
virtual bool | isAutoUpdated (void) const |
Gets whether this target is automatically updated if Ogre's rendering loop or Root::_updateAllRenderTargets is being used. | |
virtual 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. | |
virtual void | removeAllListeners (void) |
Removes all listeners from this instance. | |
virtual void | removeAllViewports (void) |
Removes all viewports on this target. | |
virtual void | removeListener (RenderTargetListener *listener) |
Removes a RenderTargetListener previously registered using addListener. | |
virtual 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. | |
virtual void | setActive (bool state) |
Used to set the active state of the render target. | |
virtual 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. | |
virtual 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. | |
virtual 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. | |
virtual 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 |
|
virtual |
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.