OGRE: Ogre::CompositorPassQuadDef Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Ogre::CompositorPassQuadDef Class Reference
Core » Effects

`#include <OgreCompositorPassQuadDef.h>`

Inheritance diagram for Ogre::CompositorPassQuadDef:
[legend]

## Classes
struct | QuadTextureSource

## Public Types
enum | FrustumCorners { NO_CORNERS, VIEW_SPACE_CORNERS, VIEW_SPACE_CORNERS_NORMALIZED, VIEW_SPACE_CORNERS_NORMALIZED_LH, WORLD_SPACE_CORNERS, WORLD_SPACE_CORNERS_CENTERED, CAMERA_DIRECTION }
typedef vector< QuadTextureSource >::type | TextureSources
typedef vector< UavDependency >::type | UavDependencyVec

## Public Member Functions
| CompositorPassQuadDef (CompositorNodeDef *parentNodeDef, CompositorTargetDef *parentTargetDef)
void | addQuadTextureSource (size_t texUnitIdx, const String &textureName)
| Indicates the pass to change the texture units to use the specified texture sources. More...
const CompositorTargetDef * | getParentTargetDef (void) const
uint32 | getRtIndex (void) const
const TextureSources & | getTextureSources (void) const
CompositorPassType | getType () const
void | operator delete (void *ptr)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete (void *ptr, void *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz)
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 *ptr)
| placement operator new More...
void * | operator new[] (size_t sz)
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void | setAllClearColours (const ColourValue &clearValue)
void | setAllLoadActions (LoadAction::LoadAction loadAction)
void | setAllStoreActions (StoreAction::StoreAction storeAction)

## Public Attributes
bool | mCameraCubemapReorient
| When true, the camera will be rotated 90°, -90° or 180° depending on the value of mRtIndex and then restored to its original rotation after we're done. More...
IdString | mCameraName
ColourValue | mClearColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
float | mClearDepth
uint32 | mClearStencil
bool | mColourWrite
| When false will not really bind the RenderTarget for rendering and use a null colour buffer instead. More...
uint8 | mExecutionMask
IdStringVec | mExposedTextures
bool | mFlushCommandBuffers
| Whether to flush the command buffer at the end of the pass. More...
FrustumCorners | mFrustumCorners
| Type of frustum corners to pass in the quad normals. More...
uint32 | mIdentifier
| Custom value in case there's a listener attached (to identify the pass) More...
bool | mIncludeOverlays
| TODO: Refactor OgreOverlay to remove this design atrocity. More...
bool | mIsResolve
| When true, the user is telling Ogre this pass just performs a custom FSAA resolve filter. More...
LoadAction::LoadAction | mLoadActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
LoadAction::LoadAction | mLoadActionDepth
LoadAction::LoadAction | mLoadActionStencil
bool | mMaterialIsHlms
String | mMaterialName
| If true, mMaterialName is an Hlms material. More...
uint32 | mNumInitialPasses
| Number of times to perform the pass before stopping. -1 to never stop. More...
uint32 | mNumViewports
String | mProfilingId
bool | mReadOnlyDepth
bool | mReadOnlyStencil
bool | mShadowMapFullViewport
| Only used if mShadowMapIdx is valid (if pass is owned by Shadow Nodes). More...
uint32 | mShadowMapIdx
| Shadow map index it belongs to (only filled in passes owned by Shadow Nodes) More...
StoreAction::StoreAction | mStoreActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
StoreAction::StoreAction | mStoreActionDepth
StoreAction::StoreAction | mStoreActionStencil
UavDependencyVec | mUavDependencies
bool | mUseQuad
| Whether to use a full screen quad or triangle. More...
uint8 | mViewportModifierMask
ViewportRect | mVpRect [16]
| Viewport's region to draw. More...
bool | mWarnIfRtvWasFlushed
| Will issue a warning (by raising an exception) if Ogre is forced to flush the RenderTarget, which is very bad for performance on mobile, and can cause serious performance problems in Desktop if using MSAA, and also cause correctness problems (i.e. More...

## Member Typedef Documentation

## ◆ TextureSources

typedef vector<QuadTextureSource>::type Ogre::CompositorPassQuadDef::TextureSources

## ◆ UavDependencyVec

typedef vector<UavDependency>::type Ogre::CompositorPassDef::UavDependencyVec
| inherited

## Member Enumeration Documentation

## ◆ FrustumCorners

enum Ogre::CompositorPassQuadDef::FrustumCorners

Enumerator
NO_CORNERS |
VIEW_SPACE_CORNERS |
VIEW_SPACE_CORNERS_NORMALIZED | When normalized, then the corner is divided by the far plane. This causes vector.z to be always 1, but the length of the vector itself may not be unit-length.
VIEW_SPACE_CORNERS_NORMALIZED_LH |
WORLD_SPACE_CORNERS | Left-handed.
WORLD_SPACE_CORNERS_CENTERED |
CAMERA_DIRECTION |

## Constructor & Destructor Documentation

## ◆ CompositorPassQuadDef()

Ogre::CompositorPassQuadDef::CompositorPassQuadDef | ( | CompositorNodeDef * | parentNodeDef,
|  | CompositorTargetDef * | parentTargetDef
| ) |  |
| inline

## Member Function Documentation

## ◆ addQuadTextureSource()

void Ogre::CompositorPassQuadDef::addQuadTextureSource | ( | size_t | texUnitIdx,
|  | const String & | textureName
| ) |  |

Indicates the pass to change the texture units to use the specified texture sources.

@See QuadTextureSource for params

## ◆ getParentTargetDef()

const CompositorTargetDef* Ogre::CompositorPassDef::getParentTargetDef | ( | void |  | ) | const
| inherited

## ◆ getRtIndex()

uint32 Ogre::CompositorPassDef::getRtIndex | ( | void |  | ) | const
| inherited

## ◆ getTextureSources()

const TextureSources& Ogre::CompositorPassQuadDef::getTextureSources | ( | void |  | ) | const
| inline

## ◆ getType()

CompositorPassType Ogre::CompositorPassDef::getType | ( | void |  | ) | const
| inlineinherited

## ◆ operator delete() [1/3]

template<class Alloc >

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

## ◆ operator delete() [2/3]

template<class Alloc >

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

## ◆ operator delete() [3/3]

template<class Alloc >

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

## ◆ operator delete[]() [1/2]

template<class Alloc >

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

## ◆ operator delete[]() [2/2]

template<class Alloc >

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

## ◆ operator new() [1/3]

template<class Alloc >

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

## ◆ operator new() [2/3]

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

## ◆ operator new() [3/3]

template<class Alloc >

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

placement operator new

## ◆ operator new[]() [1/2]

template<class Alloc >

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

## ◆ operator new[]() [2/2]

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

## ◆ setAllClearColours()

void Ogre::CompositorPassDef::setAllClearColours | ( | const ColourValue & | clearValue | ) |
| inherited

## ◆ setAllLoadActions()

void Ogre::CompositorPassDef::setAllLoadActions | ( | LoadAction::LoadAction | loadAction | ) |
| inherited

## ◆ setAllStoreActions()

void Ogre::CompositorPassDef::setAllStoreActions | ( | StoreAction::StoreAction | storeAction | ) |
| inherited

## Member Data Documentation

## ◆ mCameraCubemapReorient

bool Ogre::CompositorPassQuadDef::mCameraCubemapReorient

When true, the camera will be rotated 90°, -90° or 180° depending on the value of mRtIndex and then restored to its original rotation after we're done.

## ◆ mCameraName

IdString Ogre::CompositorPassQuadDef::mCameraName

## ◆ mClearColour

ColourValue Ogre::CompositorPassDef::mClearColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
| inherited

## ◆ mClearDepth

float Ogre::CompositorPassDef::mClearDepth
| inherited

## ◆ mClearStencil

uint32 Ogre::CompositorPassDef::mClearStencil
| inherited

## ◆ mColourWrite

bool Ogre::CompositorPassDef::mColourWrite
| inherited

When false will not really bind the RenderTarget for rendering and use a null colour buffer instead.

Useful for depth prepass, or if the RTT is actually an UAV. Some passes may ignore this setting (e.g. Clear passes)

## ◆ mExecutionMask

uint8 Ogre::CompositorPassDef::mExecutionMask
| inherited

## ◆ mExposedTextures

IdStringVec Ogre::CompositorPassDef::mExposedTextures
| inherited

## ◆ mFlushCommandBuffers

bool Ogre::CompositorPassDef::mFlushCommandBuffers
| inherited

Whether to flush the command buffer at the end of the pass.

This can incur in a performance overhead (see OpenGL's glFlush and D3D11' ID3D11DeviceContext::Flush) for info. Usually you want to leave this off. However for VR applications that must meet VSync, profiling may show your workload benefits from submitting earlier so the GPU can start right away executing rendering commands.

The main reason to use this is in CPU-bound scenarios where the GPU starts too late after sitting idle.

## ◆ mFrustumCorners

FrustumCorners Ogre::CompositorPassQuadDef::mFrustumCorners

Type of frustum corners to pass in the quad normals.

mCameraName contains which camera's frustum to pass

## ◆ mIdentifier

uint32 Ogre::CompositorPassDef::mIdentifier
| inherited

Custom value in case there's a listener attached (to identify the pass)

## ◆ mIncludeOverlays

bool Ogre::CompositorPassDef::mIncludeOverlays
| inherited

TODO: Refactor OgreOverlay to remove this design atrocity.

A custom overlay pass is a better alternative (or just use their own RQ)

## ◆ mIsResolve

bool Ogre::CompositorPassQuadDef::mIsResolve

When true, the user is telling Ogre this pass just performs a custom FSAA resolve filter.

Hence we should skip this pass for those APIs that don't support explicit resolving TODO: Not really implemented yet!!!

Remarks
  @See TextureDefinitionBase::TextureDefinition::fsaaExplicitResolve

## ◆ mLoadActionColour

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
| inherited

## ◆ mLoadActionDepth

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionDepth
| inherited

## ◆ mLoadActionStencil

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionStencil
| inherited

## ◆ mMaterialIsHlms

bool Ogre::CompositorPassQuadDef::mMaterialIsHlms

## ◆ mMaterialName

String Ogre::CompositorPassQuadDef::mMaterialName

If true, mMaterialName is an Hlms material.

## ◆ mNumInitialPasses

uint32 Ogre::CompositorPassDef::mNumInitialPasses
| inherited

Number of times to perform the pass before stopping. -1 to never stop.

## ◆ mNumViewports

uint32 Ogre::CompositorPassDef::mNumViewports
| inherited

## ◆ mProfilingId

String Ogre::CompositorPassDef::mProfilingId
| inherited

## ◆ mReadOnlyDepth

bool Ogre::CompositorPassDef::mReadOnlyDepth
| inherited

## ◆ mReadOnlyStencil

bool Ogre::CompositorPassDef::mReadOnlyStencil
| inherited

## ◆ mShadowMapFullViewport

bool Ogre::CompositorPassDef::mShadowMapFullViewport
| inherited

Only used if mShadowMapIdx is valid (if pass is owned by Shadow Nodes).

If true, we won't force the viewport to fit the region of the UV atlas on the texture, and respect mVp* settings instead.

## ◆ mShadowMapIdx

uint32 Ogre::CompositorPassDef::mShadowMapIdx
| inherited

Shadow map index it belongs to (only filled in passes owned by Shadow Nodes)

## ◆ mStoreActionColour

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
| inherited

## ◆ mStoreActionDepth

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionDepth
| inherited

## ◆ mStoreActionStencil

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionStencil
| inherited

## ◆ mUavDependencies

UavDependencyVec Ogre::CompositorPassDef::mUavDependencies
| inherited

## ◆ mUseQuad

bool Ogre::CompositorPassQuadDef::mUseQuad

Whether to use a full screen quad or triangle.

(default: false). Note that you may not always get the triangle (for example, if you ask for WORLD_SPACE_CORNERS)

## ◆ mViewportModifierMask

uint8 Ogre::CompositorPassDef::mViewportModifierMask
| inherited

## ◆ mVpRect

ViewportRect Ogre::CompositorPassDef::mVpRect[16]
| inherited

Viewport's region to draw.

## ◆ mWarnIfRtvWasFlushed

bool Ogre::CompositorPassDef::mWarnIfRtvWasFlushed
| inherited

Will issue a warning (by raising an exception) if Ogre is forced to flush the RenderTarget, which is very bad for performance on mobile, and can cause serious performance problems in Desktop if using MSAA, and also cause correctness problems (i.e.

bad rendering) if store action is StoreAction::Resolve.

Remarks
  Flushes are caused by splitting rendering to the same RenderTarget in multiple passes while rendering to a different RenderTarget in the middle. It's not always possible to avoid it, but if so, consider doing it.

  No warning will be issued if the RenderTargets getting flushed have their LoadAction set to LoadAction::Clear (or LoadAction::ClearOnTilers on tilers).

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

- OgreCompositorPassQuadDef.h