OGRE 2.3.3
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::CompositorPassShadows Class Reference

CompositorPassShadows This class enables force-updating multiple shadow nodes in batch in its own pass. More...

#include <OgreCompositorPassShadows.h>

+ Inheritance diagram for Ogre::CompositorPassShadows:

Public Member Functions

 CompositorPassShadows (const CompositorPassShadowsDef *definition, Camera *defaultCamera, CompositorNode *parentNode, const RenderTargetViewDef *rtv)
 
virtual ~CompositorPassShadows ()
 
ResourceTransitionArray_getResourceTransitionsNonConst (void)
 
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.
 
virtual void execute (const Camera *lodCamera)
 
Vector2 getActualDimensions (void) const
 
CameragetCullCamera () const
 
const CompositorPassDefgetDefinition (void) const
 
const CompositorNodegetParentNode (void) const
 
RenderPassDescriptorgetRenderPassDesc (void) const
 
const ResourceTransitionArraygetResourceTransitions (void) const
 
const FastArray< CompositorShadowNode * > & getShadowNodes () const
 
const CompositorTextureVecgetTextureDependencies (void) const
 
CompositorPassType getType () const
 
virtual void notifyCleared (void)
 @See CompositorNode::_notifyCleared
 
virtual void notifyDestroyed (const UavBufferPacked *buffer)
 
virtual void notifyDestroyed (TextureGpu *channel)
 @See CompositorNode::notifyDestroyed
 
virtual bool notifyRecreated (const TextureGpu *channel)
 @See CompositorNode::notifyRecreated
 
virtual void notifyRecreated (const UavBufferPacked *oldBuffer, UavBufferPacked *newBuffer)
 
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 *)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
voidoperator new (size_t sz, void *ptr)
 placement operator new
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void profilingBegin (void)
 
void profilingEnd (void)
 
virtual void resetNumPassesLeft (void)
 

Detailed Description

CompositorPassShadows This class enables force-updating multiple shadow nodes in batch in its own pass.

This is useful because shadow nodes may "break" a render pass in 3:

- Normal rendering to RT
- Shadow node update
- Continue Normal rendering to the same RT

This is an unnecessary performance hit on mobile (TBDR) thus executing them earlier allows for a smooth:

- Shadow node update (all of them? Up to you)
- Normal rendering to RT

Don't forget to set shadow nodes to reuse in the pass scene passes or else you may overwrite them unnecessarily

Author
Matias N. Goldberg
Version
1.0

Constructor & Destructor Documentation

◆ CompositorPassShadows()

Ogre::CompositorPassShadows::CompositorPassShadows ( const CompositorPassShadowsDef * definition,
Camera * defaultCamera,
CompositorNode * parentNode,
const RenderTargetViewDef * rtv )

◆ ~CompositorPassShadows()

virtual Ogre::CompositorPassShadows::~CompositorPassShadows ( )
virtual

Member Function Documentation

◆ _getResourceTransitionsNonConst()

ResourceTransitionArray & Ogre::CompositorPass::_getResourceTransitionsNonConst ( void )
inlineinherited

◆ analyzeBarriers()

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

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

virtual void Ogre::CompositorPassShadows::execute ( const Camera * lodCamera)
virtual

Implements Ogre::CompositorPass.

◆ getActualDimensions()

Vector2 Ogre::CompositorPass::getActualDimensions ( void ) const
inherited

◆ getCullCamera()

Camera * Ogre::CompositorPassShadows::getCullCamera ( ) const
inline

◆ getDefinition()

const CompositorPassDef * Ogre::CompositorPass::getDefinition ( void ) const
inlineinherited

◆ getParentNode()

const CompositorNode * Ogre::CompositorPass::getParentNode ( void ) const
inlineinherited

◆ getRenderPassDesc()

RenderPassDescriptor * Ogre::CompositorPass::getRenderPassDesc ( void ) const
inlineinherited

◆ getResourceTransitions()

const ResourceTransitionArray & Ogre::CompositorPass::getResourceTransitions ( void ) const
inlineinherited

◆ getShadowNodes()

const FastArray< CompositorShadowNode * > & Ogre::CompositorPassShadows::getShadowNodes ( ) const
inline

◆ getTextureDependencies()

const CompositorTextureVec & Ogre::CompositorPass::getTextureDependencies ( void ) const
inlineinherited

◆ getType()

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

◆ notifyCleared()

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

◆ notifyDestroyed() [1/2]

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

◆ notifyDestroyed() [2/2]

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

◆ notifyRecreated() [1/2]

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

◆ notifyRecreated() [2/2]

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

Reimplemented in Ogre::CompositorPassUav.

◆ 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

◆ profilingBegin()

void Ogre::CompositorPass::profilingBegin ( void )
inherited

◆ profilingEnd()

void Ogre::CompositorPass::profilingEnd ( void )
inherited

◆ resetNumPassesLeft()

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

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