OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::CompositorPassQuadDef Class Reference

#include <OgreCompositorPassQuadDef.h>

+ Inheritance diagram for Ogre::CompositorPassQuadDef:

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
 
- Public Types inherited from Ogre::CompositorPassDef
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 TextureSourcesgetTextureSources () const
 
- Public Member Functions inherited from Ogre::CompositorPassDef
 CompositorPassDef (CompositorPassType passType, CompositorTargetDef *parentTargetDef)
 
virtual ~CompositorPassDef ()
 
const CompositorTargetDefgetParentTargetDef () const
 
uint32 getRtIndex () const
 
CompositorPassType getType () const
 
void setAllClearColours (const ColourValue &clearValue)
 
void setAllLoadActions (LoadAction::LoadAction loadAction)
 
void setAllStoreActions (StoreAction::StoreAction storeAction)
 

Public Attributes

bool mAnalyzeAllTextureLayouts
 When true, Ogre will check all bound textures in the material to see if they were properly transitioned to ResourceLayout::Texture, not just the textures referenced by the compositor. More...
 
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
 
FrustumCorners mFrustumCorners
 Type of frustum corners to pass in the quad normals. More...
 
bool mIsResolve
 When true, the user is telling Ogre this pass just performs a custom FSAA resolve filter. More...
 
bool mMaterialIsHlms
 If true, mMaterialName is an Hlms material. More...
 
String mMaterialName
 
bool mUseQuad
 Whether to use a full screen quad or triangle. More...
 
- Public Attributes inherited from Ogre::CompositorPassDef
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...
 
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...
 
LoadAction::LoadAction mLoadActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
LoadAction::LoadAction mLoadActionDepth
 
LoadAction::LoadAction mLoadActionStencil
 
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...
 
bool mSkipLoadStoreSemantics
 Ignore mLoadAction*‍/mStoreAction*. More...
 
StoreAction::StoreAction mStoreActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
StoreAction::StoreAction mStoreActionDepth
 
StoreAction::StoreAction mStoreActionStencil
 
UavDependencyVec mUavDependencies
 
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

Member Enumeration Documentation

◆ 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 

Left-handed.

WORLD_SPACE_CORNERS 
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 CompositorPassQuadDef::QuadTextureSource for params

◆ getTextureSources()

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

Member Data Documentation

◆ mAnalyzeAllTextureLayouts

bool Ogre::CompositorPassQuadDef::mAnalyzeAllTextureLayouts

When true, Ogre will check all bound textures in the material to see if they were properly transitioned to ResourceLayout::Texture, not just the textures referenced by the compositor.

◆ 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

◆ mFrustumCorners

FrustumCorners Ogre::CompositorPassQuadDef::mFrustumCorners

Type of frustum corners to pass in the quad normals.

mCameraName contains which camera's frustum to pass

◆ 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

◆ mMaterialIsHlms

bool Ogre::CompositorPassQuadDef::mMaterialIsHlms

If true, mMaterialName is an Hlms material.

◆ mMaterialName

String Ogre::CompositorPassQuadDef::mMaterialName

◆ 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)


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