Skip to content

Documentation / scene / ShadowMapper

Class: ShadowMapper

Defined in: libs/scene/src/shadow/shadowmapper.ts:102

The shadow map generator

Extends

  • Disposable

Constructors

Constructor

new ShadowMapper(light): ShadowMapper

Defined in: libs/scene/src/shadow/shadowmapper.ts:171

Creates an instance of ShadowMapper

Parameters

light

PunctualLight

The light that is used to generate shadow map

Returns

ShadowMapper

Overrides

Disposable.constructor

Accessors

disposed

Get Signature

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6065

Returns

boolean

Inherited from

Disposable.disposed


light

Get Signature

get light(): PunctualLight

Defined in: libs/scene/src/shadow/shadowmapper.ts:207

The light that is used to generate shadow map

Returns

PunctualLight


shadowMapSize

Get Signature

get shadowMapSize(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:211

Size of the shadow map

Returns

number

Set Signature

set shadowMapSize(num): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:214

Parameters
num

number

Returns

void


shadowRegion

Get Signature

get shadowRegion(): ShadowRegion

Defined in: libs/scene/src/shadow/shadowmapper.ts:225

Shadow region for directional light

Returns

ShadowRegion


shadowDistance

Get Signature

get shadowDistance(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:263

Maximum distance from the camera, shadow will not be rendered beyond this range

Returns

number

Set Signature

set shadowDistance(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:266

Parameters
val

number

Returns

void


numShadowCascades

Get Signature

get numShadowCascades(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:270

Count of the cascades, The maximum value is 4

Returns

number

Set Signature

set numShadowCascades(num): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:273

Parameters
num

number

Returns

void


splitLambda

Get Signature

get splitLambda(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:288

The split lambda for cascaded shadow mapping

Returns

number

Set Signature

set splitLambda(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:291

Parameters
val

number

Returns

void


depthBias

Get Signature

get depthBias(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:297

Depth bias for the shadow map

Returns

number

Set Signature

set depthBias(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:300

Parameters
val

number

Returns

void


normalBias

Get Signature

get normalBias(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:304

Normal bias for the shadow map

Returns

number

Set Signature

set normalBias(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:307

Parameters
val

number

Returns

void


nearClip

Get Signature

get nearClip(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:311

Near clip plane

Returns

number

Set Signature

set nearClip(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:314

Parameters
val

number

Returns

void


shadowStrength

Get Signature

get shadowStrength(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:320

Shadow strength, 0 means no shadowing and 1 means full shadowing

Returns

number

Set Signature

set shadowStrength(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:323

Parameters
val

number

Returns

void


mode

Get Signature

get mode(): ShadowMode

Defined in: libs/scene/src/shadow/shadowmapper.ts:327

Shadow map mode

Returns

ShadowMode

Set Signature

set mode(mode): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:330

Parameters
mode

ShadowMode

Returns

void


pdSampleCount

Get Signature

get pdSampleCount(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:375

Sample count for poisson disc PCF

Returns

number

Set Signature

set pdSampleCount(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:378

Parameters
val

number

Returns

void


pdSampleRadius

Get Signature

get pdSampleRadius(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:389

Radius for poisson disc PCF

Returns

number

Set Signature

set pdSampleRadius(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:392

Parameters
val

number

Returns

void


pcfKernelSize

Get Signature

get pcfKernelSize(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:400

Kernel size for optimized PCF

Returns

number

Set Signature

set pcfKernelSize(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:403

Parameters
val

number

Returns

void


pcssLightRadius

Get Signature

get pcssLightRadius(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:414

Light radius for PCSS shadow, measured in shadow-map texels

Returns

number

Set Signature

set pcssLightRadius(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:417

Parameters
val

number

Returns

void


pcssBlockerSampleCount

Get Signature

get pcssBlockerSampleCount(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:428

Blocker search sample count for PCSS shadow

Returns

number

Set Signature

set pcssBlockerSampleCount(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:431

Parameters
val

number

Returns

void


pcssFilterSampleCount

Get Signature

get pcssFilterSampleCount(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:442

Filter sample count for PCSS shadow

Returns

number

Set Signature

set pcssFilterSampleCount(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:445

Parameters
val

number

Returns

void


pcssMaxFilterRadius

Get Signature

get pcssMaxFilterRadius(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:456

Maximum PCSS filter radius, measured in shadow-map texels

Returns

number

Set Signature

set pcssMaxFilterRadius(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:459

Parameters
val

number

Returns

void


pcssTemporalJitter

Get Signature

get pcssTemporalJitter(): boolean

Defined in: libs/scene/src/shadow/shadowmapper.ts:470

If true, rotates PCSS sampling pattern over frames for TAA accumulation

Returns

boolean

Set Signature

set pcssTemporalJitter(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:473

Parameters
val

boolean

Returns

void


vsmBlurKernelSize

Get Signature

get vsmBlurKernelSize(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:484

Kernel size of VSM

Returns

number

Set Signature

set vsmBlurKernelSize(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:487

Parameters
val

number

Returns

void


vsmBlurRadius

Get Signature

get vsmBlurRadius(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:498

Blur radius for VSM

Returns

number

Set Signature

set vsmBlurRadius(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:501

Parameters
val

number

Returns

void


vsmDarkness

Get Signature

get vsmDarkness(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:512

Darkness for VSM

Returns

number

Set Signature

set vsmDarkness(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:515

Parameters
val

number

Returns

void


esmBlur

Get Signature

get esmBlur(): boolean

Defined in: libs/scene/src/shadow/shadowmapper.ts:523

Whether to enable ESM blur

Returns

boolean

Set Signature

set esmBlur(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:526

Parameters
val

boolean

Returns

void


esmLogSpace

Get Signature

get esmLogSpace(): boolean

Defined in: libs/scene/src/shadow/shadowmapper.ts:536

Whether to enable log space ESM blur

Returns

boolean

Set Signature

set esmLogSpace(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:539

Parameters
val

boolean

Returns

void


esmBlurKernelSize

Get Signature

get esmBlurKernelSize(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:549

Kernel size for ESM

Returns

number

Set Signature

set esmBlurKernelSize(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:552

Parameters
val

number

Returns

void


esmBlurRadius

Get Signature

get esmBlurRadius(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:563

Blur radius for ESM

Returns

number

Set Signature

set esmBlurRadius(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:566

Parameters
val

number

Returns

void


esmDepthScale

Get Signature

get esmDepthScale(): number

Defined in: libs/scene/src/shadow/shadowmapper.ts:577

Depth scale for ESM

Returns

number

Set Signature

set esmDepthScale(val): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:580

Parameters
val

number

Returns

void

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:594

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:598

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

Disposable.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:602

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

Disposable.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:606

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

Disposable.dispatchEvent


dispose()

dispose(): void

Defined in: libs/base/dist/index.d.ts:6066

Returns

void

Inherited from

Disposable.dispose


applyQualityPreset()

applyQualityPreset(preset): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:342

Applies a practical shadow preset for common scenarios.

character-small: higher contact quality and tighter distance for character-centric scenes. outdoor-large: longer distance coverage for open scenes.

Parameters

preset

ShadowQualityPreset

Returns

void


onDispose()

protected onDispose(): void

Defined in: libs/scene/src/shadow/shadowmapper.ts:974

Disposable.onDispose

Returns

void

Overrides

Disposable.onDispose

Released under the MIT License.