![]() |
OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
Abstract class for compositor passes. More...
#include <OgreCompositorPass.h>
Abstract class for compositor passes.
A pass can be a fullscreen quad, a scene rendering, a clear. etc. Derived classes are responsible for performing an actual job. Note that passes do not own RenderTargets, therefore we're not responsible for destroying it.
Ogre::CompositorPass::CompositorPass | ( | const CompositorPassDef * | definition, |
const CompositorChannel & | target, | ||
CompositorNode * | parentNode | ||
) |
|
virtual |
|
virtual |
Emulates the execution of a UAV to understand memory dependencies, and adds a memory barrier / resource transition if we need to.
boundUavs | [in/out] An array of the currently bound UAVs by slot. The derived class CompositorPassUav will write to them as part of the emulation. The base implementation reads from this value. |
uavsAccess | [in/out] A map with the last access flag used for each RenderTarget. We need it to identify RaR situations, which are the only ones that don't need a barrier (and also WaW hazards, when explicitly allowed by the pass). Note: We will set the access to ResourceAccess::Undefined to signal other passes that the UAV hazard already has a barrier (just in case there was one already created). |
resourcesLayout | [in/out] A map with the current layout of every RenderTarget used so far. Needed to identify if we need to change the resource layout to an UAV. |
Reimplemented in Ogre::CompositorPassClear, Ogre::CompositorPassCompute, Ogre::CompositorPassDepthCopy, Ogre::CompositorPassMipmap, Ogre::CompositorPassScene, and Ogre::CompositorPassUav.
void Ogre::CompositorPass::addResourceTransition | ( | ResourceLayoutMap::iterator | currentLayout, |
ResourceLayout::Layout | newLayout, | ||
uint32 | readBarrierBits | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
@See CompositorNode::_notifyCleared
Reimplemented in Ogre::CompositorPassScene.
|
virtual |
|
virtual |
|
virtual |
@See CompositorNode::notifyRecreated
Reimplemented in Ogre::CompositorPassMipmap.
|
virtual |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info