OGRE-Next: Ogre::ShadowNodeHelper Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

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

`#include <OgreCompositorShadowNode.h>`

## Classes
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.

## Member Typedef Documentation

## ◆ ShadowParamVec

typedef vector<ShadowParam>::type Ogre::ShadowNodeHelper::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 )
| static

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

Parameters

  compositorManager |
  capabilities |
  shadowNodeName | Name to give to the shadow node definition. Must be unique and not exist already.
  shadowParams | Array of params, one per shadow map. PSSM techniques must come first, and there can only be one shadow map using that technique.
  useEsm | True if the shadow node should be set for ESM (Exponential Shadow Maps)
  pointLightCubemapResolution | The 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.
  pssmLambda | PSSM lambda. Ignored if not using PSSM.
  splitPadding | PSSM split padding. Ignored if not using PSSM.
  splitBlend | PSSM blend. Ignored if not using PSSM.
  splitFade | PSSM split fade. Ignored if not using PSSM.
  visibilityMask | Visibility mask for all passes. See firstRq
  xyPadding | See FocusedShadowCameraSetup::setXYPadding
  firstRq | When 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)

Parameters

  lastRq | See firstRq

References Ogre::VisibilityFlags::RESERVED_VISIBILITY_FLAGS.

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

- OgreCompositorShadowNode.h