OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::CompositorPass Class Referenceabstract

Abstract class for compositor passes. More...

#include <OgreCompositorPass.h>

+ Inheritance diagram for Ogre::CompositorPass:

Public Member Functions

 CompositorPass (const CompositorPassDef *definition, CompositorNode *parentNode)
 
virtual ~CompositorPass ()
 
ResourceTransitionArray_getResourceTransitionsNonConst ()
 
virtual void analyzeBarriers (const bool bClearBarriers=true)
 Bakes all of the memory barriers / resource transition that will be needed before executing a GPU command like rendering, copying/blit or compute. More...
 
virtual void execute (const Camera *lodCameraconst)=0
 
Vector2 getActualDimensions () const
 
const TextureGpugetAnyTargetTexture () const
 Contains the first valid texture in mRenderPassDesc, to be used for reference (e.g. More...
 
const CompositorPassDefgetDefinition () const
 
const CompositorNodegetParentNode () const
 
RenderPassDescriptorgetRenderPassDesc () const
 
const ResourceTransitionArraygetResourceTransitions () const
 
const CompositorTextureVecgetTextureDependencies () const
 
CompositorPassType getType () const
 
Real getViewportAspectRatio (size_t vpIdx)
 
virtual void notifyCleared ()
 
virtual void notifyDestroyed (const UavBufferPacked *buffer)
 
virtual void notifyDestroyed (TextureGpu *channel)
 
virtual bool notifyRecreated (const TextureGpu *channel)
 
virtual void notifyRecreated (const UavBufferPacked *oldBuffer, UavBufferPacked *newBuffer)
 
void profilingBegin ()
 
void profilingEnd ()
 
virtual void resetNumPassesLeft ()
 

Detailed Description

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.

Author
Matias N. Goldberg
Version
1.0

Constructor & Destructor Documentation

◆ CompositorPass()

Ogre::CompositorPass::CompositorPass ( const CompositorPassDef definition,
CompositorNode parentNode 
)

◆ ~CompositorPass()

virtual Ogre::CompositorPass::~CompositorPass ( )
virtual

Member Function Documentation

◆ _getResourceTransitionsNonConst()

ResourceTransitionArray& Ogre::CompositorPass::_getResourceTransitionsNonConst ( )
inline

◆ analyzeBarriers()

virtual void Ogre::CompositorPass::analyzeBarriers ( const bool  bClearBarriers = true)
virtual

Bakes all of the memory barriers / resource transition that will be needed before executing a GPU command like rendering, copying/blit or compute.

Parameters
bClearBarriersTrue to do mResourceTransitions.clear();

◆ execute()

◆ getActualDimensions()

Vector2 Ogre::CompositorPass::getActualDimensions ( ) const

◆ getAnyTargetTexture()

const TextureGpu* Ogre::CompositorPass::getAnyTargetTexture ( ) const
inline

Contains the first valid texture in mRenderPassDesc, to be used for reference (e.g.

width, height, etc). Could be colour, depth, stencil, or nullptr.

◆ getDefinition()

const CompositorPassDef* Ogre::CompositorPass::getDefinition ( ) const
inline

◆ getParentNode()

const CompositorNode* Ogre::CompositorPass::getParentNode ( ) const
inline

◆ getRenderPassDesc()

RenderPassDescriptor* Ogre::CompositorPass::getRenderPassDesc ( ) const
inline

◆ getResourceTransitions()

const ResourceTransitionArray& Ogre::CompositorPass::getResourceTransitions ( ) const
inline

◆ getTextureDependencies()

const CompositorTextureVec& Ogre::CompositorPass::getTextureDependencies ( ) const
inline

◆ getType()

CompositorPassType Ogre::CompositorPass::getType ( ) const
inline

◆ getViewportAspectRatio()

Real Ogre::CompositorPass::getViewportAspectRatio ( size_t  vpIdx)

◆ notifyCleared()

virtual void Ogre::CompositorPass::notifyCleared ( )
virtual

◆ notifyDestroyed() [1/2]

virtual void Ogre::CompositorPass::notifyDestroyed ( const UavBufferPacked buffer)
virtual

◆ notifyDestroyed() [2/2]

virtual void Ogre::CompositorPass::notifyDestroyed ( TextureGpu channel)
virtual

◆ notifyRecreated() [1/2]

virtual bool Ogre::CompositorPass::notifyRecreated ( const TextureGpu channel)
virtual

◆ notifyRecreated() [2/2]

virtual void Ogre::CompositorPass::notifyRecreated ( const UavBufferPacked oldBuffer,
UavBufferPacked newBuffer 
)
virtual

Reimplemented in Ogre::CompositorPassUav.

◆ profilingBegin()

void Ogre::CompositorPass::profilingBegin ( )

◆ profilingEnd()

void Ogre::CompositorPass::profilingEnd ( )

◆ resetNumPassesLeft()

virtual void Ogre::CompositorPass::resetNumPassesLeft ( )
virtual

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