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

#include <OgreCompositorPassClearDef.h>

+ Inheritance diagram for Ogre::CompositorPassClearDef:
+ Collaboration diagram for Ogre::CompositorPassClearDef:

Public Member Functions

 CompositorPassClearDef (uint32 rtIndex)
 By default clear all buffers. More...
 
uint32 getRtIndex (void) const
 
CompositorPassType getType () const
 
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)
 

Public Attributes

bool mBeginRtUpdate
 True if a previous pass doesn't alter the contents of the same render target we do TODO: Fill this automatically. More...
 
uint32 mClearBufferFlags
 
ColourValue mColourValue
 
Real mDepthValue
 
bool mDiscardOnly
 This value is only supported by a few APIs (D3D11 at the time of writting) which instead of actually clearing the buffers, it informs the GPU that the entire contents will be overwritten, which is what happens with fullscreen quad pass. More...
 
bool mEndRtUpdate
 End if we're the last consecutive pass to alter the contents of the same render target. 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...
 
uint32 mNumInitialPasses
 Number of times to perform the pass before stopping. -1 to never stop. More...
 
uint32 mShadowMapIdx
 Shadow map index it belongs to (only filled in passes owned by Shadow Nodes) More...
 
uint32 mStencilValue
 
float mVpHeight
 
float mVpLeft
 Viewport's region to draw. More...
 
float mVpTop
 
float mVpWidth
 

Detailed Description

Definition at line 47 of file OgreCompositorPassClearDef.h.

Constructor & Destructor Documentation

Ogre::CompositorPassClearDef::CompositorPassClearDef ( uint32  rtIndex)
inline

By default clear all buffers.

Stencil needs to be cleared because it hinders Fast Z Clear on GPU architectures that don't separate the stencil from depth and the program requested a Z Buffer with stencil (even if we never use it)

Definition at line 78 of file OgreCompositorPassClearDef.h.

Member Function Documentation

uint32 Ogre::CompositorPassDef::getRtIndex ( void  ) const
inlineinherited

Definition at line 118 of file OgreCompositorPassDef.h.

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

Definition at line 117 of file OgreCompositorPassDef.h.

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.

Member Data Documentation

bool Ogre::CompositorPassDef::mBeginRtUpdate
inherited

True if a previous pass doesn't alter the contents of the same render target we do TODO: Fill this automatically.

Definition at line 98 of file OgreCompositorPassDef.h.

uint32 Ogre::CompositorPassClearDef::mClearBufferFlags

Definition at line 50 of file OgreCompositorPassClearDef.h.

ColourValue Ogre::CompositorPassClearDef::mColourValue

Definition at line 51 of file OgreCompositorPassClearDef.h.

Real Ogre::CompositorPassClearDef::mDepthValue

Definition at line 52 of file OgreCompositorPassClearDef.h.

bool Ogre::CompositorPassClearDef::mDiscardOnly

This value is only supported by a few APIs (D3D11 at the time of writting) which instead of actually clearing the buffers, it informs the GPU that the entire contents will be overwritten, which is what happens with fullscreen quad pass.

Remarks
When the API does not support discard-only clears, the pass is ignored
The main purpose of this feature is to be friendly with multi-GPU systems (since we're telling there is no dependency with a previous frame) while avoid doing a full clear at the same time (wastes bandwidth)
When performing PASS_QUAD that covers the entire render target and doesn't have alpha blending, a discard is automatically performed on the colour buffer.
Warning: Incorrect usage of discard only clears can lead to visual artifacts

Definition at line 72 of file OgreCompositorPassClearDef.h.

bool Ogre::CompositorPassDef::mEndRtUpdate
inherited

End if we're the last consecutive pass to alter the contents of the same render target.

Definition at line 100 of file OgreCompositorPassDef.h.

uint32 Ogre::CompositorPassDef::mIdentifier
inherited

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

Definition at line 94 of file OgreCompositorPassDef.h.

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)

Definition at line 105 of file OgreCompositorPassDef.h.

uint32 Ogre::CompositorPassDef::mNumInitialPasses
inherited

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

Definition at line 91 of file OgreCompositorPassDef.h.

uint32 Ogre::CompositorPassDef::mShadowMapIdx
inherited

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

Definition at line 88 of file OgreCompositorPassDef.h.

uint32 Ogre::CompositorPassClearDef::mStencilValue

Definition at line 53 of file OgreCompositorPassClearDef.h.

float Ogre::CompositorPassDef::mVpHeight
inherited

Definition at line 85 of file OgreCompositorPassDef.h.

float Ogre::CompositorPassDef::mVpLeft
inherited

Viewport's region to draw.

Definition at line 82 of file OgreCompositorPassDef.h.

float Ogre::CompositorPassDef::mVpTop
inherited

Definition at line 83 of file OgreCompositorPassDef.h.

float Ogre::CompositorPassDef::mVpWidth
inherited

Definition at line 84 of file OgreCompositorPassDef.h.


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