# Ogre::Viewport Class Reference

An abstraction of a viewport, i.e. More...

`#include <OgreViewport.h>`

Inheritance diagram for Ogre::Viewport:

[legend]

List of all members.

## Public Member Functions

| Viewport (Camera *camera, RenderTarget *target, Real left, Real top, Real width, Real height, int ZOrder)
| The usual constructor.
virtual | ~Viewport ()
| Default destructor.
void | _updateDimensions (void)
| Notifies the viewport of a possible change in dimensions.
void | update (void)
| Instructs the viewport to updates its contents.
RenderTarget * | getTarget (void) const
| Retrieves a pointer to the render target for this viewport.
Camera * | getCamera (void) const
| Retrieves a pointer to the camera for this viewport.
void | setCamera (Camera *cam)
| Sets the camera to use for rendering to this viewport.
int | getZOrder (void) const
| Gets the Z-Order of this viewport.
Real | getLeft (void) const
| Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.
Real | getTop (void) const
| Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.
Real | getWidth (void) const
| Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.
Real | getHeight (void) const
| Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.
int | getActualLeft (void) const
| Gets one of the actual dimensions of the viewport, a value in pixels.
int | getActualTop (void) const
| Gets one of the actual dimensions of the viewport, a value in pixels.
int | getActualWidth (void) const
| Gets one of the actual dimensions of the viewport, a value in pixels.
int | getActualHeight (void) const
| Gets one of the actual dimensions of the viewport, a value in pixels.
void | setDimensions (Real left, Real top, Real width, Real height)
| Sets the dimensions (after creation).
void | setBackgroundColour (const ColourValue &colour)
| Sets the initial background colour of the viewport (before rendering).
const ColourValue & | getBackgroundColour (void) const
| Gets the background colour.
void | setClearEveryFrame (bool clear, unsigned int buffers=FBT_COLOUR|FBT_DEPTH)
| Determines whether to clear the viewport before rendering.
bool | getClearEveryFrame (void) const
| Determines if the viewport is cleared before every frame.
unsigned int | getClearBuffers (void) const
| Gets which buffers are to be cleared each frame.
void | setMaterialScheme (const String &schemeName)
| Set the material scheme which the viewport should use.
const String & | getMaterialScheme (void) const
| Get the material scheme which the viewport should use.
void | getActualDimensions (int &left, int &top, int &width, int &height) const
| Access to actual dimensions (based on target size).
bool | _isUpdated (void) const
void | _clearUpdatedFlag (void)
unsigned int | _getNumRenderedFaces (void) const
| Gets the number of rendered faces in the last update.
unsigned int | _getNumRenderedBatches (void) const
| Gets the number of rendered batches in the last update.
void | setOverlaysEnabled (bool enabled)
| Tells this viewport whether it should display Overlay objects.
bool | getOverlaysEnabled (void) const
| Returns whether or not Overlay objects (created in the SceneManager) are displayed in this viewport.
void | setSkiesEnabled (bool enabled)
| Tells this viewport whether it should display skies.
bool | getSkiesEnabled (void) const
| Returns whether or not skies (created in the SceneManager) are displayed in this viewport.
void | setShadowsEnabled (bool enabled)
| Tells this viewport whether it should display shadows.
bool | getShadowsEnabled (void) const
| Returns whether or not shadows (defined in the SceneManager) are displayed in this viewport.
void | setVisibilityMask (uint32 mask)
| Sets a per-viewport visibility mask.
uint | getVisibilityMask (void) const
| Gets a per-viewport visibility mask.
virtual void | setRenderQueueInvocationSequenceName (const String &sequenceName)
| Sets the use of a custom RenderQueueInvocationSequence for rendering this target.
virtual const String & | getRenderQueueInvocationSequenceName (void) const
| Gets the name of the render queue invocation sequence for this target.
RenderQueueInvocationSequence * | _getRenderQueueInvocationSequence (void)
| Get the invocation sequence - will return null if using standard.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
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 *)

## Protected Attributes

Camera * | mCamera
RenderTarget * | mTarget
float | mRelLeft
float | mRelTop
float | mRelWidth
float | mRelHeight
int | mActLeft
int | mActTop
int | mActWidth
int | mActHeight
int | mZOrder
| ZOrder.
ColourValue | mBackColour
| Background options.
bool | mClearEveryFrame
unsigned int | mClearBuffers
bool | mUpdated
bool | mShowOverlays
bool | mShowSkies
bool | mShowShadows
uint32 | mVisibilityMask
String | mRQSequenceName
RenderQueueInvocationSequence * | mRQSequence
String | mMaterialSchemeName
| Material scheme.

## Detailed Description

An abstraction of a viewport, i.e.

a rendering region on a render target.

Remarks:
  A viewport is the meeting of a camera and a rendering surface - the camera renders the scene from a viewpoint, and places its results into some subset of a rendering target, which may be the whole surface or just a part of the surface. Each viewport has a single camera as source and a single target as destination. A camera only has 1 viewport, but a render target may have several. A viewport also has a Z-order, i.e. if there is more than one viewport on a single render target and they overlap, one must obscure the other in some predetermined way.

Definition at line 50 of file OgreViewport.h.

## Constructor & Destructor Documentation

Ogre::Viewport::Viewport | ( | Camera * | camera,
|  | RenderTarget * | target,
|  | Real | left,
|  | Real | top,
|  | Real | width,
|  | Real | height,
|  | int | ZOrder |
| ) |  |  |

The usual constructor.

Parameters:

  | cam | Pointer to a camera to be the source for the image.
  | target | Pointer to the render target to be the destination for the rendering.
  | left |
  | top |
  | width |
  | height | Dimensions of the viewport, expressed as a value between 0 and 1. This allows the dimensions to apply irrespective of changes in the target's size: e.g. to fill the whole area, values of 0,0,1,1 are appropriate.
  | ZOrder | Relative Z-order on the target. Lower = further to the front.

virtual Ogre::Viewport::~Viewport | ( |  | ) | `[virtual]`

Default destructor.

## Member Function Documentation

void Ogre::Viewport::_updateDimensions | ( | void |  | ) |

Notifies the viewport of a possible change in dimensions.

Remarks:
  Used by the target to update the viewport's dimensions (usually the result of a change in target size).

Note:
  Internal use by Ogre only.

void Ogre::Viewport::update | ( | void |  | ) |

Instructs the viewport to updates its contents.

RenderTarget* Ogre::Viewport::getTarget | ( | void |  | ) | const

Retrieves a pointer to the render target for this viewport.

Camera* Ogre::Viewport::getCamera | ( | void |  | ) | const

Retrieves a pointer to the camera for this viewport.

void Ogre::Viewport::setCamera | ( | Camera * | cam | ) |

Sets the camera to use for rendering to this viewport.

int Ogre::Viewport::getZOrder | ( | void |  | ) | const

Gets the Z-Order of this viewport.

Real Ogre::Viewport::getLeft | ( | void |  | ) | const

Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.

Real Ogre::Viewport::getTop | ( | void |  | ) | const

Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.

Real Ogre::Viewport::getWidth | ( | void |  | ) | const

Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.

Real Ogre::Viewport::getHeight | ( | void |  | ) | const

Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0.

int Ogre::Viewport::getActualLeft | ( | void |  | ) | const

Gets one of the actual dimensions of the viewport, a value in pixels.

int Ogre::Viewport::getActualTop | ( | void |  | ) | const

Gets one of the actual dimensions of the viewport, a value in pixels.

int Ogre::Viewport::getActualWidth | ( | void |  | ) | const

Gets one of the actual dimensions of the viewport, a value in pixels.

int Ogre::Viewport::getActualHeight | ( | void |  | ) | const

Gets one of the actual dimensions of the viewport, a value in pixels.

void Ogre::Viewport::setDimensions | ( | Real | left,
|  | Real | top,
|  | Real | width,
|  | Real | height |
| ) |  |  |

Sets the dimensions (after creation).

Parameters:

  | left |
  | top |
  | width |
  | height | Dimensions relative to the size of the target, represented as real values between 0 and 1. i.e. the full target area is 0, 0, 1, 1.

void Ogre::Viewport::setBackgroundColour | ( | const ColourValue & | colour | ) |

Sets the initial background colour of the viewport (before rendering).

const ColourValue& Ogre::Viewport::getBackgroundColour | ( | void |  | ) | const

Gets the background colour.

void Ogre::Viewport::setClearEveryFrame | ( | bool | clear,
|  | unsigned int | buffers = `FBT_COLOUR|FBT_DEPTH` |
| ) |  |  |

Determines whether to clear the viewport before rendering.

Remarks:
  You can use this method to set which buffers are cleared (if any) before rendering every frame.

Parameters:

  | clear | Whether or not to clear any buffers
  | buffers | One or more values from FrameBufferType denoting which buffers to clear, if clear is set to true. Note you should not clear the stencil buffer here unless you know what you're doing.

bool Ogre::Viewport::getClearEveryFrame | ( | void |  | ) | const

Determines if the viewport is cleared before every frame.

unsigned int Ogre::Viewport::getClearBuffers | ( | void |  | ) | const

Gets which buffers are to be cleared each frame.

void Ogre::Viewport::setMaterialScheme | ( | const String & | schemeName | ) |

Set the material scheme which the viewport should use.

Remarks:
  This allows you to tell the system to use a particular material scheme when rendering this viewport, which can involve using different techniques to render your materials.

See also:
  Technique::setSchemeName

Definition at line 200 of file OgreViewport.h.

const String& Ogre::Viewport::getMaterialScheme | ( | void |  | ) | const

Get the material scheme which the viewport should use.

Definition at line 205 of file OgreViewport.h.

void Ogre::Viewport::getActualDimensions | ( | int & | left,
|  | int & | top,
|  | int & | width,
|  | int & | height |
| ) |  |  | const

Access to actual dimensions (based on target size).

bool Ogre::Viewport::_isUpdated | ( | void |  | ) | const

void Ogre::Viewport::_clearUpdatedFlag | ( | void |  | ) |

unsigned int Ogre::Viewport::_getNumRenderedFaces | ( | void |  | ) | const

Gets the number of rendered faces in the last update.

unsigned int Ogre::Viewport::_getNumRenderedBatches | ( | void |  | ) | const

Gets the number of rendered batches in the last update.

void Ogre::Viewport::setOverlaysEnabled | ( | bool | enabled | ) |

Tells this viewport whether it should display Overlay objects.

Remarks:
  Overlay objects are layers which appear on top of the scene. They are created via SceneManager::createOverlay and every viewport displays these by default. However, you probably don't want this if you're using multiple viewports, because one of them is probably a picture-in-picture which is not supposed to have overlays of it's own. In this case you can turn off overlays on this viewport by calling this method.

Parameters:

  | enabled | If true, any overlays are displayed, if false they are not.

bool Ogre::Viewport::getOverlaysEnabled | ( | void |  | ) | const

Returns whether or not Overlay objects (created in the SceneManager) are displayed in this viewport.

void Ogre::Viewport::setSkiesEnabled | ( | bool | enabled | ) |

Tells this viewport whether it should display skies.

Remarks:
  Skies are layers which appear on background of the scene. They are created via SceneManager::setSkyBox, SceneManager::setSkyPlane and SceneManager::setSkyDome and every viewport displays these by default. However, you probably don't want this if you're using multiple viewports, because one of them is probably a picture-in-picture which is not supposed to have skies of it's own. In this case you can turn off skies on this viewport by calling this method.

Parameters:

  | enabled | If true, any skies are displayed, if false they are not.

bool Ogre::Viewport::getSkiesEnabled | ( | void |  | ) | const

Returns whether or not skies (created in the SceneManager) are displayed in this viewport.

void Ogre::Viewport::setShadowsEnabled | ( | bool | enabled | ) |

Tells this viewport whether it should display shadows.

Remarks:
  This setting enables you to disable shadow rendering for a given viewport. The global shadow technique set on SceneManager still controls the type and nature of shadows, but this flag can override the setting so that no shadows are rendered for a given viewport to save processing time where they are not required.

Parameters:

  | enabled | If true, any shadows are displayed, if false they are not.

bool Ogre::Viewport::getShadowsEnabled | ( | void |  | ) | const

Returns whether or not shadows (defined in the SceneManager) are displayed in this viewport.

void Ogre::Viewport::setVisibilityMask | ( | uint32 | mask | ) |

Sets a per-viewport visibility mask.

Remarks:
  The visibility mask is a way to exclude objects from rendering for a given viewport. For each object in the frustum, a check is made between this mask and the objects visibility flags (

See also:
  MovableObject::setVisibilityFlags), and if a binary 'and' returns zero, the object will not be rendered.

Definition at line 279 of file OgreViewport.h.

uint Ogre::Viewport::getVisibilityMask | ( | void |  | ) | const

Gets a per-viewport visibility mask.

See also:
  Viewport::setVisibilityMask

Definition at line 284 of file OgreViewport.h.

virtual void Ogre::Viewport::setRenderQueueInvocationSequenceName | ( | const String & | sequenceName | ) | `[virtual]`

Sets the use of a custom RenderQueueInvocationSequence for rendering this target.

Remarks:
  RenderQueueInvocationSequence instances are managed through Root. By setting this, you are indicating that you wish this RenderTarget to be updated using a custom sequence of render queue invocations, with potentially customised ordering and render state options. You should create the named sequence through Root first, then set the name here.

Parameters:

  | The | name of the RenderQueueInvocationSequence to use. If you specify a blank string, behaviour will return to the default render queue management.

virtual const String& Ogre::Viewport::getRenderQueueInvocationSequenceName | ( | void |  | ) | const`[virtual]`

Gets the name of the render queue invocation sequence for this target.

RenderQueueInvocationSequence* Ogre::Viewport::_getRenderQueueInvocationSequence | ( | void |  | ) |

Get the invocation sequence - will return null if using standard.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

Camera* Ogre::Viewport::mCamera `[protected]`

Definition at line 305 of file OgreViewport.h.

RenderTarget* Ogre::Viewport::mTarget `[protected]`

Definition at line 306 of file OgreViewport.h.

float Ogre::Viewport::mRelLeft `[protected]`

Definition at line 308 of file OgreViewport.h.

float Ogre::Viewport::mRelTop `[protected]`

Definition at line 308 of file OgreViewport.h.

float Ogre::Viewport::mRelWidth `[protected]`

Definition at line 308 of file OgreViewport.h.

float Ogre::Viewport::mRelHeight `[protected]`

Definition at line 308 of file OgreViewport.h.

int Ogre::Viewport::mActLeft `[protected]`

Definition at line 310 of file OgreViewport.h.

int Ogre::Viewport::mActTop `[protected]`

Definition at line 310 of file OgreViewport.h.

int Ogre::Viewport::mActWidth `[protected]`

Definition at line 310 of file OgreViewport.h.

int Ogre::Viewport::mActHeight `[protected]`

Definition at line 310 of file OgreViewport.h.

int Ogre::Viewport::mZOrder `[protected]`

ZOrder.

Definition at line 312 of file OgreViewport.h.

ColourValue Ogre::Viewport::mBackColour `[protected]`

Background options.

Definition at line 314 of file OgreViewport.h.

bool Ogre::Viewport::mClearEveryFrame `[protected]`

Definition at line 315 of file OgreViewport.h.

unsigned int Ogre::Viewport::mClearBuffers `[protected]`

Definition at line 316 of file OgreViewport.h.

bool Ogre::Viewport::mUpdated `[protected]`

Definition at line 317 of file OgreViewport.h.

bool Ogre::Viewport::mShowOverlays `[protected]`

Definition at line 318 of file OgreViewport.h.

bool Ogre::Viewport::mShowSkies `[protected]`

Definition at line 319 of file OgreViewport.h.

bool Ogre::Viewport::mShowShadows `[protected]`

Definition at line 320 of file OgreViewport.h.

uint32 Ogre::Viewport::mVisibilityMask `[protected]`

Definition at line 321 of file OgreViewport.h.

String Ogre::Viewport::mRQSequenceName `[protected]`

Definition at line 323 of file OgreViewport.h.

RenderQueueInvocationSequence* Ogre::Viewport::mRQSequence `[protected]`

Definition at line 324 of file OgreViewport.h.

String Ogre::Viewport::mMaterialSchemeName `[protected]`

Material scheme.

Definition at line 326 of file OgreViewport.h.

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

- OgreViewport.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Dec 27 17:37:11 2009