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 *)
void * operator new (size_t sz)
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz)
void * operator 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]

void Ogre::AllocatedObject< ResourceAllocPolicy >::operator delete ( void * ptr)
inlineinherited

◆ operator delete() [2/3]

void Ogre::AllocatedObject< ResourceAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inlineinherited

◆ operator delete() [3/3]

void Ogre::AllocatedObject< ResourceAllocPolicy >::operator delete ( void * ptr,
void *  )
inlineinherited

◆ operator delete[]() [1/2]

void Ogre::AllocatedObject< ResourceAllocPolicy >::operator delete[] ( void * ptr)
inlineinherited

◆ operator delete[]() [2/2]

void Ogre::AllocatedObject< ResourceAllocPolicy >::operator delete[] ( void * ptr,
const char * ,
int ,
const char *  )
inlineinherited

◆ operator new() [1/3]

void * Ogre::AllocatedObject< ResourceAllocPolicy >::operator new ( size_t sz)
inlineinherited

◆ operator new() [2/3]

void * Ogre::AllocatedObject< ResourceAllocPolicy >::operator new ( size_t sz,
const char * file,
int line,
const char * func )
inlineinherited

operator new, with debug line info

◆ operator new() [3/3]

void * Ogre::AllocatedObject< ResourceAllocPolicy >::operator new ( size_t sz,
void * ptr )
inlineinherited

placement operator new

◆ operator new[]() [1/2]

void * Ogre::AllocatedObject< ResourceAllocPolicy >::operator new[] ( size_t sz)
inlineinherited

◆ operator new[]() [2/2]

void * Ogre::AllocatedObject< ResourceAllocPolicy >::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: