Interface: CSMConfig
Properties
cascades
• cascades: number
depthPolygonOffsetFactor
• depthPolygonOffsetFactor: number
depthPolygonOffsetUnits
• depthPolygonOffsetUnits: number
entityShadowFrameInterval
• entityShadowFrameInterval: number
farShadowMapSize
• farShadowMapSize: number
Map size for cascades past the first. The far cascades cover tens of times the near cascade's area, so their texel density per block is far higher than it needs to be at the near cascade's resolution — and a far cascade re-render's depth-write cost is what turns a shadow refresh into a dropped frame at high display resolutions.
isDepthPolygonOffsetEnabled
• isDepthPolygonOffsetEnabled: boolean
lightMargin
• lightMargin: number
maxLightSwingPerFrame
• maxLightSwingPerFrame: number
Per-frame light-direction delta above which direction changes stop marking cascades dirty. The day-cycle drift moves the light a few hundred-thousandths of a radian per frame; the dusk sun-to-moon handoff swings it thirty times faster, fast enough that shadows re-rendered mid-swing are stale by the time they are sampled. The skipped motion keeps accumulating against the dirty threshold, so the first calm frame after a swing (or a time-command jump) still refreshes every cascade at the settled direction.
maxShadowDistance
• maxShadowDistance: number
shadowBias
• shadowBias: number
shadowCasterDistance
• shadowCasterDistance: number
shadowMapSize
• shadowMapSize: number
shadowNormalBias
• shadowNormalBias: number
shadowSideFaceBiasScale
• shadowSideFaceBiasScale: number
shadowSlopeBiasMin
• shadowSlopeBiasMin: number
shadowSlopeBiasScale
• shadowSlopeBiasScale: number
shadowStrengthRenderFloor
• shadowStrengthRenderFloor: number
Shadow strength at or below which cascade re-renders are skipped entirely. During the dusk handoff the light azimuth swings 180 degrees from sun to moon while the same curve fades shadows to invisibility; re-rendering every cascade to track a swing nobody can see is the single most expensive thing the renderer does all day.
shadowTopFaceBiasScale
• shadowTopFaceBiasScale: number
stillCameraMatrixEpsilon
• stillCameraMatrixEpsilon: number
Max absolute per-element view-projection delta below which the camera counts as still, catching rotation the positional test cannot see.
stillCameraPositionEpsilon
• stillCameraPositionEpsilon: number
Player movement (blocks per frame) below which the camera counts as still. Control smoothing approaches its target asymptotically and never lands bit-exactly, so an exact-equality stillness test never fires; this floor sits well above that residue and well below any motion a player could perceive.