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
bool availableShadows are enabled for the main light.
eligible
bool eligibleThe scene qualifies for the stable shadow-map cache.
enabled
bool enabledThe stable shadow-map cache was used.
fallback
bool fallbackThe stable cache was bypassed this frame.
shadowMapRenders
size_t shadowMapRendersMain shadow maps rendered.
shadowMapReuses
size_t shadowMapReusesMain shadow maps reused from cache.
fallbackFrames
size_t fallbackFramesFrames that fell back to re-rendering.
perLightDirtyTrackingAvailable
bool perLightDirtyTrackingAvailableAdditional shadow lights can be tracked individually (shadowedLightBudget > 1).
perLightDirtyTrackingEnabled
bool perLightDirtyTrackingEnabledPer-light dirty tracking ran.
perLightDirtyTrackingFallback
bool perLightDirtyTrackingFallbackPer-light dirty tracking was bypassed.
perLightDirtyTrackingFallbackFrames
size_t perLightDirtyTrackingFallbackFramesFrames that bypassed per-light dirty tracking.
additionalShadowMapRenders
size_t additionalShadowMapRendersAdditional-light shadow maps rendered.
additionalShadowMapReuses
size_t additionalShadowMapReusesAdditional-light shadow maps reused.
additionalShadowDirtyLights
size_t additionalShadowDirtyLightsAdditional shadow lights marked dirty.
additionalShadowCleanLights
size_t additionalShadowCleanLightsAdditional shadow lights still clean.
staticDynamicCompositionAvailable
bool staticDynamicCompositionAvailableStatic/dynamic composition applies (directional main light).
staticDynamicCompositionEnabled
bool staticDynamicCompositionEnabledStatic/dynamic composition ran.
staticDynamicCompositionFallback
bool staticDynamicCompositionFallbackStatic/dynamic composition was bypassed.
staticDynamicCompositionFallbackFrames
size_t staticDynamicCompositionFallbackFramesFrames that bypassed static/dynamic composition.
staticShadowMapRenders
size_t staticShadowMapRendersStatic-caster shadow layers rendered.
staticShadowMapReuses
size_t staticShadowMapReusesStatic-caster shadow layers reused.
dynamicShadowMapRenders
size_t dynamicShadowMapRendersDynamic-caster shadow layers rendered.
staticDynamicCompositedLayers
size_t staticDynamicCompositedLayersMain cascade layers composited from static and dynamic parts.
additionalStaticShadowMapRenders
size_t additionalStaticShadowMapRendersAdditional-light static atlas tiles rendered.
additionalStaticShadowMapReuses
size_t additionalStaticShadowMapReusesAdditional-light static atlas tiles reused.
additionalDynamicShadowMapRenders
size_t additionalDynamicShadowMapRendersAdditional-light dynamic atlas tiles rendered.
additionalStaticDynamicCompositedTiles
size_t additionalStaticDynamicCompositedTilesAdditional-light atlas tiles composited.
staticShadowCasterCount
size_t staticShadowCasterCountShadow casters classified as static.
dynamicShadowCasterCount
size_t dynamicShadowCasterCountShadow casters classified as dynamic.
receiverDepthFilteredMaps
size_t receiverDepthFilteredMapsMain shadow maps drawn after the camera's depth prepass without the instanced casters whose shadows reach none of its visible surfaces.