OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::Viewport Class Reference

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

#include <OgreViewport.h>

+ Inheritance diagram for Ogre::Viewport:
+ Collaboration diagram for Ogre::Viewport:

Public Member Functions

 Viewport (RenderTarget *target, Real left, Real top, Real width, Real height)
 The usual constructor. More...
 
virtual ~Viewport ()
 Default destructor. More...
 
void _clearUpdatedFlag (void)
 
RenderQueueInvocationSequence_getRenderQueueInvocationSequence (void)
 Get the invocation sequence - will return null if using standard. More...
 
bool _isUpdated (void) const
 
void _setVisibilityMask (uint32 mask)
 Sets a per-viewport visibility mask. More...
 
void _updateCullPhase01 (Camera *camera, const Camera *lodCamera, uint8 firstRq, uint8 lastRq)
 Instructs the viewport to updates its contents. More...
 
void _updateDimensions (void)
 Notifies the viewport of a possible change in dimensions. More...
 
void _updateRenderPhase02 (Camera *camera, const Camera *lodCamera, uint8 firstRq, uint8 lastRq)
 
void clear (unsigned int buffers=FBT_COLOUR|FBT_DEPTH, const ColourValue &colour=ColourValue::Black, Real depth=1.0f, unsigned short stencil=0)
 Instructs the viewport to clear itself, without performing an update. More...
 
void getActualDimensions (int &left, int &top, int &width, int &height) const
 Access to actual dimensions (based on target size). More...
 
int getActualHeight (void) const
 Gets one of the actual dimensions of the viewport, a value in pixels. More...
 
int getActualLeft (void) const
 Gets one of the actual dimensions of the viewport, a value in pixels. More...
 
int getActualTop (void) const
 Gets one of the actual dimensions of the viewport, a value in pixels. More...
 
int getActualWidth (void) const
 Gets one of the actual dimensions of the viewport, a value in pixels. More...
 
Real getHeight (void) const
 Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0. More...
 
Real getLeft (void) const
 Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0. More...
 
const StringgetMaterialScheme (void) const
 Get the material scheme which the viewport should use. More...
 
OrientationMode getOrientationMode () const
 Get the orientation mode of the viewport. More...
 
bool getOverlaysEnabled (void) const
 Returns whether or not Overlay objects (created in the SceneManager) are displayed in this viewport. More...
 
virtual const StringgetRenderQueueInvocationSequenceName (void) const
 Gets the name of the render queue invocation sequence for this target. More...
 
bool getSkiesEnabled (void) const
 Returns whether or not skies (created in the SceneManager) are displayed in this viewport. More...
 
RenderTargetgetTarget (void) const
 Retrieves a pointer to the render target for this viewport. More...
 
Real getTop (void) const
 Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0. More...
 
uint getVisibilityMask (void) const
 Gets a per-viewport visibility mask. More...
 
Real getWidth (void) const
 Gets one of the relative dimensions of the viewport, a value between 0.0 and 1.0. 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)
 
void pointOrientedToScreen (const Vector2 &v, int orientationMode, Vector2 &outv)
 Convert oriented input point coordinates to screen coordinates. More...
 
void pointOrientedToScreen (Real orientedX, Real orientedY, int orientationMode, Real &screenX, Real &screenY)
 
void setDimensions (Real left, Real top, Real width, Real height)
 Sets the dimensions (after creation). More...
 
void setMaterialScheme (const String &schemeName)
 Set the material scheme which the viewport should use. More...
 
void setOrientationMode (OrientationMode orientationMode, bool setDefault=true)
 Set the orientation mode of the viewport. More...
 
void setOverlaysEnabled (bool enabled)
 Tells this viewport whether it should display Overlay objects. More...
 
virtual void setRenderQueueInvocationSequenceName (const String &sequenceName)
 Sets the use of a custom RenderQueueInvocationSequence for rendering this target. More...
 
void setSkiesEnabled (bool enabled)
 Tells this viewport whether it should display skies. More...
 

Static Public Member Functions

static OrientationMode getDefaultOrientationMode ()
 Get the initial orientation mode of viewports. More...
 
static void setDefaultOrientationMode (OrientationMode orientationMode)
 Set the initial orientation mode of viewports. More...
 

Public Attributes

size_t mGlobalIndex
 Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). More...
 

Protected Attributes

int mActHeight
 
int mActLeft
 Actual dimensions, based on target dimensions. More...
 
int mActTop
 
int mActWidth
 
String mMaterialSchemeName
 Material scheme. More...
 
OrientationMode mOrientationMode
 Viewport orientation mode. More...
 
float mRelHeight
 
float mRelLeft
 Relative dimensions, irrespective of target dimensions (0..1) More...
 
float mRelTop
 
float mRelWidth
 
RenderQueueInvocationSequencemRQSequence
 
String mRQSequenceName
 
bool mShowOverlays
 
bool mShowSkies
 
RenderTargetmTarget
 
bool mUpdated
 Background options. More...
 
uint32 mVisibilityMask
 
int mZOrder
 Z-order. More...
 

Static Protected Attributes

static OrientationMode mDefaultOrientationMode
 

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 56 of file OgreViewport.h.

Constructor & Destructor Documentation

Ogre::Viewport::Viewport ( RenderTarget target,
Real  left,
Real  top,
Real  width,
Real  height 
)

The usual constructor.

Parameters
cameraPointer to a camera to be the source for the image.
targetPointer to the render target to be the destination for the rendering.
left,top,width,heightDimensions 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.
ZOrderRelative Z-order on the target. Lower = further to the front.
virtual Ogre::Viewport::~Viewport ( )
virtual

Default destructor.

Member Function Documentation

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

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

bool Ogre::Viewport::_isUpdated ( void  ) const
void Ogre::Viewport::_setVisibilityMask ( uint32  mask)
inline

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.
Viewport's visibility mask assumes the user knows what he's doing with the reserved flags!

Definition at line 258 of file OgreViewport.h.

void Ogre::Viewport::_updateCullPhase01 ( Camera camera,
const Camera lodCamera,
uint8  firstRq,
uint8  lastRq 
)

Instructs the viewport to updates its contents.

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::_updateRenderPhase02 ( Camera camera,
const Camera lodCamera,
uint8  firstRq,
uint8  lastRq 
)
void Ogre::Viewport::clear ( unsigned int  buffers = FBT_COLOUR|FBT_DEPTH,
const ColourValue colour = ColourValue::Black,
Real  depth = 1.0f,
unsigned short  stencil = 0 
)

Instructs the viewport to clear itself, without performing an update.

Remarks
You would not normally call this method when updating the viewport, since the viewport usually clears itself when updating anyway (
See also
Viewport::setClearEveryFrame). However, if you wish you have the option of manually clearing the frame buffer (or elements of it) using this method.
Parameters
buffersBitmask identifying which buffer elements to clear
colourThe colour value to clear to, if FBT_COLOUR is included
depthThe depth value to clear to, if FBT_DEPTH is included
stencilThe stencil value to clear to, if FBT_STENCIL is included
void Ogre::Viewport::getActualDimensions ( int &  left,
int &  top,
int &  width,
int &  height 
) const

Access to actual dimensions (based on target size).

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

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

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.

static OrientationMode Ogre::Viewport::getDefaultOrientationMode ( )
static

Get the initial orientation mode of viewports.

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

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

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

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

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

Get the material scheme which the viewport should use.

Definition at line 204 of file OgreViewport.h.

OrientationMode Ogre::Viewport::getOrientationMode ( ) const

Get the orientation mode of the viewport.

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

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

virtual const String& Ogre::Viewport::getRenderQueueInvocationSequenceName ( void  ) const
virtual

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

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

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

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

Retrieves a pointer to the render target for this viewport.

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

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

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

Gets a per-viewport visibility mask.

See also
Viewport::setVisibilityMask

Definition at line 263 of file OgreViewport.h.

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

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

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

void Ogre::Viewport::pointOrientedToScreen ( const Vector2 v,
int  orientationMode,
Vector2 outv 
)

Convert oriented input point coordinates to screen coordinates.

void Ogre::Viewport::pointOrientedToScreen ( Real  orientedX,
Real  orientedY,
int  orientationMode,
Real screenX,
Real screenY 
)
static void Ogre::Viewport::setDefaultOrientationMode ( OrientationMode  orientationMode)
static

Set the initial orientation mode of viewports.

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

Sets the dimensions (after creation).

Parameters
leftLeft point of viewport.
topTop point of the viewport.
widthWidth of the viewport.
heightHeight of the viewport.
Note
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::setMaterialScheme ( const String schemeName)
inline

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 199 of file OgreViewport.h.

void Ogre::Viewport::setOrientationMode ( OrientationMode  orientationMode,
bool  setDefault = true 
)

Set the orientation mode of the viewport.

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
enabledIf true, any overlays are displayed, if false they are not.
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
sequenceNameThe name of the RenderQueueInvocationSequence to use. If you specify a blank string, behaviour will return to the default render queue management.
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
enabledIf true, any skies are displayed, if false they are not.

Member Data Documentation

int Ogre::Viewport::mActHeight
protected

Definition at line 294 of file OgreViewport.h.

int Ogre::Viewport::mActLeft
protected

Actual dimensions, based on target dimensions.

Definition at line 294 of file OgreViewport.h.

int Ogre::Viewport::mActTop
protected

Definition at line 294 of file OgreViewport.h.

int Ogre::Viewport::mActWidth
protected

Definition at line 294 of file OgreViewport.h.

OrientationMode Ogre::Viewport::mDefaultOrientationMode
staticprotected

Definition at line 309 of file OgreViewport.h.

size_t Ogre::Viewport::mGlobalIndex

Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).

Used for O(1) removals.

Remarks
It is the parent (or our creator) the one that sets this value, not ourselves. Do NOT modify it manually.

Definition at line 60 of file OgreViewport.h.

String Ogre::Viewport::mMaterialSchemeName
protected

Material scheme.

Definition at line 306 of file OgreViewport.h.

OrientationMode Ogre::Viewport::mOrientationMode
protected

Viewport orientation mode.

Definition at line 308 of file OgreViewport.h.

float Ogre::Viewport::mRelHeight
protected

Definition at line 292 of file OgreViewport.h.

float Ogre::Viewport::mRelLeft
protected

Relative dimensions, irrespective of target dimensions (0..1)

Definition at line 292 of file OgreViewport.h.

float Ogre::Viewport::mRelTop
protected

Definition at line 292 of file OgreViewport.h.

float Ogre::Viewport::mRelWidth
protected

Definition at line 292 of file OgreViewport.h.

RenderQueueInvocationSequence* Ogre::Viewport::mRQSequence
protected

Definition at line 304 of file OgreViewport.h.

String Ogre::Viewport::mRQSequenceName
protected

Definition at line 303 of file OgreViewport.h.

bool Ogre::Viewport::mShowOverlays
protected

Definition at line 299 of file OgreViewport.h.

bool Ogre::Viewport::mShowSkies
protected

Definition at line 300 of file OgreViewport.h.

RenderTarget* Ogre::Viewport::mTarget
protected

Definition at line 290 of file OgreViewport.h.

bool Ogre::Viewport::mUpdated
protected

Background options.

Definition at line 298 of file OgreViewport.h.

uint32 Ogre::Viewport::mVisibilityMask
protected

Definition at line 301 of file OgreViewport.h.

int Ogre::Viewport::mZOrder
protected

Z-order.

Definition at line 296 of file OgreViewport.h.


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