OGRE-Next: Ogre::CompositorPassShadows Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Ogre::CompositorPassShadows Class Reference
Core » Effects

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

`#include <OgreCompositorPassShadows.h>`

Inheritance diagram for Ogre::CompositorPassShadows:
[legend]

## Public Member Functions
| CompositorPassShadows (const CompositorPassShadowsDef *definition, Camera *defaultCamera, CompositorNode *parentNode, const RenderTargetViewDef *rtv)
| ~CompositorPassShadows () override
void | execute (const Camera *lodCamera) override
Camera * | getCullCamera () const
const FastArray< CompositorShadowNode * > & | getShadowNodes () const
Public Member Functions inherited from Ogre::CompositorPass
| 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.
Vector2 | getActualDimensions () const
const CompositorPassDef * | getDefinition () const
const CompositorNode * | getParentNode () const
RenderPassDescriptor * | getRenderPassDesc () const
const ResourceTransitionArray & | getResourceTransitions () const
const CompositorTextureVec & | getTextureDependencies () 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

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

Ogre::CompositorPassShadows::~CompositorPassShadows | ( |  | ) |
| override

## Member Function Documentation

## ◆ execute()

void Ogre::CompositorPassShadows::execute | ( | const Camera * | lodCamera | ) |
| overridevirtual

Implements Ogre::CompositorPass.

## ◆ getCullCamera()

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

## ◆ getShadowNodes()

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

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

- OgreCompositorPassShadows.h