Skip to main content

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.