Skip to content

raisin::RayraiWindow::ShadowCacheDiagnostics ​

struct · #include <rayrai/RayraiWindow.hpp>

Diagnostics: shadow-map caching counters (see shadowCacheDiagnostics()).

Reset at the start of every update() / renderWithExternalCamera() frame. Three mechanisms are reported: the stable main shadow-map cache, per-light dirty tracking of additional shadow maps, and static/dynamic shadow composition. *Available says the mechanism applies, *Enabled that it ran, *Fallback that it had to be bypassed this frame.

Public attributes ​

available ​

cpp
bool available

Shadows are enabled for the main light.

eligible ​

cpp
bool eligible

The scene qualifies for the stable shadow-map cache.

enabled ​

cpp
bool enabled

The stable shadow-map cache was used.

fallback ​

cpp
bool fallback

The stable cache was bypassed this frame.

shadowMapRenders ​

cpp
size_t shadowMapRenders

Main shadow maps rendered.

shadowMapReuses ​

cpp
size_t shadowMapReuses

Main shadow maps reused from cache.

fallbackFrames ​

cpp
size_t fallbackFrames

Frames that fell back to re-rendering.

perLightDirtyTrackingAvailable ​

cpp
bool perLightDirtyTrackingAvailable

Additional shadow lights can be tracked individually (shadowedLightBudget > 1).

perLightDirtyTrackingEnabled ​

cpp
bool perLightDirtyTrackingEnabled

Per-light dirty tracking ran.

perLightDirtyTrackingFallback ​

cpp
bool perLightDirtyTrackingFallback

Per-light dirty tracking was bypassed.

perLightDirtyTrackingFallbackFrames ​

cpp
size_t perLightDirtyTrackingFallbackFrames

Frames that bypassed per-light dirty tracking.

additionalShadowMapRenders ​

cpp
size_t additionalShadowMapRenders

Additional-light shadow maps rendered.

additionalShadowMapReuses ​

cpp
size_t additionalShadowMapReuses

Additional-light shadow maps reused.

additionalShadowDirtyLights ​

cpp
size_t additionalShadowDirtyLights

Additional shadow lights marked dirty.

additionalShadowCleanLights ​

cpp
size_t additionalShadowCleanLights

Additional shadow lights still clean.

staticDynamicCompositionAvailable ​

cpp
bool staticDynamicCompositionAvailable

Static/dynamic composition applies (directional main light).

staticDynamicCompositionEnabled ​

cpp
bool staticDynamicCompositionEnabled

Static/dynamic composition ran.

staticDynamicCompositionFallback ​

cpp
bool staticDynamicCompositionFallback

Static/dynamic composition was bypassed.

staticDynamicCompositionFallbackFrames ​

cpp
size_t staticDynamicCompositionFallbackFrames

Frames that bypassed static/dynamic composition.

staticShadowMapRenders ​

cpp
size_t staticShadowMapRenders

Static-caster shadow layers rendered.

staticShadowMapReuses ​

cpp
size_t staticShadowMapReuses

Static-caster shadow layers reused.

dynamicShadowMapRenders ​

cpp
size_t dynamicShadowMapRenders

Dynamic-caster shadow layers rendered.

staticDynamicCompositedLayers ​

cpp
size_t staticDynamicCompositedLayers

Main cascade layers composited from static and dynamic parts.

additionalStaticShadowMapRenders ​

cpp
size_t additionalStaticShadowMapRenders

Additional-light static atlas tiles rendered.

additionalStaticShadowMapReuses ​

cpp
size_t additionalStaticShadowMapReuses

Additional-light static atlas tiles reused.

additionalDynamicShadowMapRenders ​

cpp
size_t additionalDynamicShadowMapRenders

Additional-light dynamic atlas tiles rendered.

additionalStaticDynamicCompositedTiles ​

cpp
size_t additionalStaticDynamicCompositedTiles

Additional-light atlas tiles composited.

staticShadowCasterCount ​

cpp
size_t staticShadowCasterCount

Shadow casters classified as static.

dynamicShadowCasterCount ​

cpp
size_t dynamicShadowCasterCount

Shadow casters classified as dynamic.

receiverDepthFilteredMaps ​

cpp
size_t receiverDepthFilteredMaps

Main shadow maps drawn after the camera's depth prepass without the instanced casters whose shadows reach none of its visible surfaces.

RaiSim — physics for robotics and AI.