28#ifndef __RenderTarget_H__
29#define __RenderTarget_H__
40#ifndef OGRE_NUM_RENDERTARGET_GROUPS
41 #define OGRE_NUM_RENDERTARGET_GROUPS 10
42 #define OGRE_DEFAULT_RT_GROUP 4
43 #define OGRE_REND_TO_TEX_RT_GROUP 2
75 SF_TRIANGLE_COUNT = 16,
158 virtual void update(
bool swapBuffers =
true);
193 float width = 1.0f,
float height = 1.0f);
236 float& bestFPS,
float& worstFPS)
const;
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
A viewpoint from which the scene will be rendered.
An abstract class that contains a depth/stencil buffer.
A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory.
A interface class defining a listener which can be used to receive notifications of RenderTarget even...
RenderSystem specific interface for a RenderTarget; this should be subclassed by RenderSystems.
A 'canvas' which can receive the results of a rendering operation.
virtual void setAutoUpdated(bool autoupdate)
Sets whether this target should be automatically updated if Ogre's rendering loop or Root::_updateAll...
virtual void setPriority(uchar priority)
Sets the priority of this render target in relation to the others.
virtual void getStatistics(float &lastFPS, float &avgFPS, float &bestFPS, float &worstFPS) const
Retieves details of current rendering performance.
virtual void removeAllViewports(void)
Removes all viewports on this target.
virtual bool isActive() const
Used to retrieve or set the active state of the render target.
virtual void addListener(RenderTargetListener *listener)
Add a listener to this RenderTarget which will be called back before & after rendering.
virtual void setActive(bool state)
Used to set the active state of the render target.
virtual void removeViewport(int ZOrder)
Removes a viewport at a given Z-order.
virtual String writeContentsToTimestampedFile(const String &filenamePrefix, const String &filenameSuffix)
Writes the current contents of the render target to the (PREFIX)(time-stamp)(SUFFIX) file.
virtual void updateImpl()
Internal implementation of update()
virtual const FrameStats & getStatistics(void) const
virtual size_t getBatchCount(void) const
Gets the number of batches rendered in the last update() call.
virtual Viewport * getViewportByZOrder(int ZOrder)
Retrieves a pointer to the viewport with the given Z-order.
virtual void detachDepthBuffer()
vector< RenderTargetListener * >::type RenderTargetListenerList
virtual const String & getFSAAHint() const
Gets the FSAA hint (.
virtual float getWorstFrameTime() const
Individual stats access - gets the worst frame time.
virtual void firePreUpdate(void)
internal method for firing events
virtual bool requiresTextureFlipping() const =0
virtual void _endUpdate()
Method for manual management of rendering - finishes statistics calculation and fires 'postRenderTarg...
uchar mPriority
The priority of the render target.
virtual Impl * _getImpl()
Get rendersystem specific interface for this RenderTarget.
virtual float getLastFPS() const
Individual stats access - gets the number of frames per second (FPS) based on the last frame rendered...
virtual void update(bool swapBuffers=true)
Tells the target to update it's contents.
virtual void copyContentsToMemory(const PixelBox &dst, FrameBuffer buffer=FB_AUTO)=0
Copies the current contents of the render target to a pixelbox.
map< int, Viewport * >::type ViewportList
virtual void getCustomAttribute(const String &name, void *pData)
Gets a custom (maybe platform-specific) attribute.
virtual uint32 getHeight(void) const
virtual void removeAllListeners(void)
Removes all listeners from this instance.
virtual void fireViewportPostUpdate(Viewport *vp)
internal method for firing events
virtual void removeListener(RenderTargetListener *listener)
Removes a RenderTargetListener previously registered using addListener.
virtual void swapBuffers()
Swaps the frame buffers to display the next frame.
virtual float getBestFrameTime() const
Individual stats access - gets the best frame time.
virtual float getWorstFPS() const
Individual stats access - gets the worst frames per second (FPS) since call to Root::startRendering.
virtual bool isAutoUpdated(void) const
Gets whether this target is automatically updated if Ogre's rendering loop or Root::_updateAllRenderT...
virtual uchar getPriority() const
Gets the priority of a render target.
virtual Viewport * getViewport(unsigned short index)
Retrieves a pointer to the viewport with the given index.
virtual bool isHardwareGammaEnabled() const
Indicates whether on rendering, linear colour space is converted to sRGB gamma colour space.
virtual void _notifyCameraRemoved(const Camera *cam)
Utility method to notify a render target that a camera has been removed, incase it was referring to i...
ViewportList mViewportList
List of viewports, map on Z-order.
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 bool isPrimary(void) const
Indicates whether this target is the primary window.
virtual void fireViewportAdded(Viewport *vp)
internal method for firing events
virtual uint getFSAA() const
Indicates whether multisampling is performed on rendering and at what level.
DepthBuffer * getDepthBuffer() const
virtual bool hasViewportWithZOrder(int ZOrder)
Returns true if and only if a viewport exists at the given Z-order.
virtual float getBestFPS() const
Individual stats access - gets the best frames per second (FPS) since call to Root::startRendering.
virtual unsigned short getNumViewports(void) const
Returns the number of viewports attached to this target.
virtual uint32 getWidth(void) const
virtual bool attachDepthBuffer(DepthBuffer *depthBuffer)
DepthBuffer * mDepthBuffer
virtual void fireViewportPreUpdate(Viewport *vp)
internal method for firing events
virtual PixelFormat suggestPixelFormat() const
Suggests a pixel format to use for extracting the data in this target, when calling copyContentsToMem...
virtual size_t getTriangleCount(void) const
Gets the number of triangles rendered in the last update() call.
virtual void firePostUpdate(void)
internal method for firing events
virtual void _updateAutoUpdatedViewports(bool updateStatistics=true)
Method for manual management of rendering - renders only viewports that are auto updated.
uint16 mDepthBufferPoolId
void setDepthBufferPool(uint16 poolId)
Sets the pool ID this RenderTarget should query from.
virtual void _beginUpdate()
Method for manual management of rendering : fires 'preRenderTargetUpdate' and initialises statistics ...
virtual void getMetrics(unsigned int &width, unsigned int &height, unsigned int &colourDepth)
Retrieve information about the render target.
virtual uint32 getColourDepth(void) const
virtual const String & getName(void) const
Retrieve target's name.
RenderTargetListenerList mListeners
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 void resetStatistics(void)
Resets saved frame-rate statistices.
unsigned long mLastSecond
virtual void _detachDepthBuffer()
Detaches DepthBuffer without notifying it from the detach.
virtual float getAverageFPS() const
Individual stats access - gets the average frames per second (FPS) since call to Root::startRendering...
String mName
The name of this target.
uint16 getDepthBufferPool() const
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 writeContentsToFile(const String &filename)
Writes the current contents of the render target to the named file.
virtual void fireViewportRemoved(Viewport *vp)
internal method for firing events
Reference-counted shared pointer, used for objects where implicit destruction is required.
An abstraction of a viewport, i.e.
PixelFormat
The pixel format used for images, textures, and render surfaces.
@ PF_BYTE_RGBA
4 byte pixel format, 1 byte for red, 1 byte for green, 1 byte for blue, and one byte for alpha
unsigned long bestFrameTime
unsigned long worstFrameTime
std::map< K, V, P, A > type