OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::ShadowNodeHelper Class Reference

#include <OgreCompositorShadowNode.h>


struct  Resolution
struct  ShadowParam

Public Types

typedef vector< ShadowParam >::type ShadowParamVec

Static Public Member Functions

static void createShadowNodeWithSettings (CompositorManager2 *compositorManager, const RenderSystemCapabilities *capabilities, const String &shadowNodeName, const ShadowNodeHelper::ShadowParamVec &shadowParams, bool useEsm, uint32 pointLightCubemapResolution=1024u, Real pssmLambda=0.95f, Real splitPadding=1.0f, Real splitBlend=0.125f, Real splitFade=0.313f, uint32 numStableSplits=0, uint32 visibilityMask=VisibilityFlags::RESERVED_VISIBILITY_FLAGS, float xyPadding=1.5f, uint8 firstRq=0u, uint8 lastRq=255u)
 Utility to programmatically create a shadow node, since doing it yourself can be confusing. More...

Member Typedef Documentation

◆ ShadowParamVec

Member Function Documentation

◆ createShadowNodeWithSettings()

static void Ogre::ShadowNodeHelper::createShadowNodeWithSettings ( CompositorManager2 compositorManager,
const RenderSystemCapabilities capabilities,
const String shadowNodeName,
const ShadowNodeHelper::ShadowParamVec shadowParams,
bool  useEsm,
uint32  pointLightCubemapResolution = 1024u,
Real  pssmLambda = 0.95f,
Real  splitPadding = 1.0f,
Real  splitBlend = 0.125f,
Real  splitFade = 0.313f,
uint32  numStableSplits = 0,
uint32  visibilityMask = VisibilityFlags::RESERVED_VISIBILITY_FLAGS,
float  xyPadding = 1.5f,
uint8  firstRq = 0u,
uint8  lastRq = 255u 

Utility to programmatically create a shadow node, since doing it yourself can be confusing.

shadowNodeNameName to give to the shadow node definition. Must be unique and not exist already.
shadowParamsArray of params, one per shadow map. PSSM techniques must come first, and there can only be one shadow map using that technique.
useEsmTrue if the shadow node should be set for ESM (Exponential Shadow Maps)
pointLightCubemapResolutionThe resolution to use for the temporary cubemap used in case of point lights. If you don't set point lights in any of the ShadowParam::supportedLightTypes in the shadowParams array, this value is ignored.
pssmLambdaPSSM lambda. Ignored if not using PSSM.
splitPaddingPSSM split padding. Ignored if not using PSSM.
splitBlendPSSM blend. Ignored if not using PSSM.
splitFadePSSM split fade. Ignored if not using PSSM.
visibilityMaskVisibility mask for all passes. See firstRq
xyPaddingSee FocusedShadowCameraSetup::setXYPadding
firstRqWhen rendering, which Render Queues to consider. Normally you want to set this to firstRq = 0; lastRq = 255.

However if you have a dedicated shadow map for e.g. the main player then you want to put the player in a specific RQs and tighten the Render Queue to obtain maximum coverage quality Range is [firstRq; lastRq)

lastRqSee firstRq

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