Class: DirectLight
Defined in: src/components/lights/DirectLight.ts:16
Directional light source. The light of this light source is parallel, for example, sunlight. This light source can generate shadows.
Constructors
Constructor
new DirectLight():
DirectLight
Defined in: src/components/lights/DirectLight.ts:35
Returns
DirectLight
Overrides
LightBase.constructor
Properties
object3D
object3D:
Object3D=null
Defined in: src/components/ComponentBase.ts:29
owner object3D
Inherited from
LightBase.object3D
isDestroyed
isDestroyed:
boolean=false
Defined in: src/components/ComponentBase.ts:77
Inherited from
LightBase.isDestroyed
shadowCamera
shadowCamera:
Camera3D
Defined in: src/components/lights/DirectLight.ts:18
Orthographic camera used to render the (non-CSM) shadow map.
debugCSM
debugCSM:
boolean=false
Defined in: src/components/lights/DirectLight.ts:22
Draw the CSM cascade frustums for debugging.
debugShadowBound
debugShadowBound:
boolean=false
Defined in: src/components/lights/DirectLight.ts:24
Draw the non-CSM orthographic shadow bounds for debugging.
csmShadowCamera
csmShadowCamera:
Camera3D[] =[]
Defined in: src/components/lights/DirectLight.ts:26
Per-cascade shadow cameras when CSM is enabled.
frustumCSM
frustumCSM:
FrustumCSM
Defined in: src/components/lights/DirectLight.ts:28
Cascaded shadow map frustum splitter.
csmAutoUpdate
csmAutoUpdate:
boolean=true
Defined in: src/components/lights/DirectLight.ts:30
When true, the CSM cascades are recomputed every frame.
csmSplitFunction
csmSplitFunction: (
near,far,index,max) =>number
Defined in: src/components/lights/DirectLight.ts:32
Optional custom cascade split distribution function.
Parameters
near
number
far
number
index
number
max
number
Returns
number
name
name:
string
Defined in: src/components/lights/LightBase.ts:22
light name
Inherited from
LightBase.name
size
size:
number=1
Defined in: src/components/lights/LightBase.ts:26
light size
Inherited from
LightBase.size
shadowMapWidth
shadowMapWidth:
number=0
Defined in: src/components/lights/LightBase.ts:41
light shadow map size
Inherited from
LightBase.shadowMapWidth
shadowMapHeight
shadowMapHeight:
number=0
Defined in: src/components/lights/LightBase.ts:42
Inherited from
LightBase.shadowMapHeight
lightData
lightData:
LightData
Defined in: src/components/lights/LightBase.ts:47
light source data
Inherited from
LightBase.lightData
dirFix
dirFix:
number=1
Defined in: src/components/lights/LightBase.ts:52
fix light direction
Inherited from
LightBase.dirFix
bindOnChange
bindOnChange: () =>
void
Defined in: src/components/lights/LightBase.ts:57
Callback function when binding changes
Returns
void
Inherited from
LightBase.bindOnChange
needUpdateShadow
needUpdateShadow:
boolean=true
Defined in: src/components/lights/LightBase.ts:59
Inherited from
LightBase.needUpdateShadow
realTimeShadow
realTimeShadow:
boolean=true
Defined in: src/components/lights/LightBase.ts:64
Whether to enable real-time rendering of shadows
Inherited from
LightBase.realTimeShadow
Accessors
visibleLayer
Get Signature
get visibleLayer():
number
Defined in: src/components/ComponentBase.ts:46
Composition-layer membership bitmask. The pass / camera / collector filters via
(component.visibleLayer & pass.layerMask & camera.cullingMask) !== 0
Defaults to VisibleLayer.Default (bit 0) so a fresh subclass is visible to passes whose layerMask is VisibleLayer.All (which includes bit 0). Application code can assign project-specific bits (1..31) to organise the scene into composition layers.
Returns
number
Set Signature
set visibleLayer(
value):void
Defined in: src/components/ComponentBase.ts:50
Parameters
value
number
Returns
void
Inherited from
LightBase.visibleLayer
eventDispatcher
Get Signature
get eventDispatcher():
CEventDispatcher
Defined in: src/components/ComponentBase.ts:63
Returns
Set Signature
set eventDispatcher(
value):void
Defined in: src/components/ComponentBase.ts:68
Parameters
value
Returns
void
Inherited from
LightBase.eventDispatcher
isStart
Get Signature
get isStart():
boolean
Defined in: src/components/ComponentBase.ts:79
Returns
boolean
Inherited from
LightBase.isStart
transform
Get Signature
get transform():
Transform
Defined in: src/components/ComponentBase.ts:89
Return the Transform component attached to the Object3D. Null before the component is attached — addComponent assigns object3D only after construction — so constructor-time callers can probe safely via this.transform?..
Returns
Inherited from
LightBase.transform
enable
Get Signature
get enable():
boolean
Defined in: src/components/ComponentBase.ts:113
Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.
Returns
boolean
Set Signature
set enable(
value):void
Defined in: src/components/ComponentBase.ts:96
Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.
Parameters
value
boolean
Returns
void
Inherited from
LightBase.enable
enableCSM
Get Signature
get enableCSM():
boolean
Defined in: src/components/lights/DirectLight.ts:165
Whether cascaded shadow maps (CSM) are enabled for this light.
Returns
boolean
Set Signature
set enableCSM(
value):void
Defined in: src/components/lights/DirectLight.ts:170
Enable or disable cascaded shadow maps (defaults to 4 cascades).
Parameters
value
boolean
Returns
void
cascadeNum
Get Signature
get cascadeNum():
number
Defined in: src/components/lights/DirectLight.ts:185
Number of CSM cascades.
Returns
number
Set Signature
set cascadeNum(
value):void
Defined in: src/components/lights/DirectLight.ts:190
Set the number of CSM cascades (min 1), rebuilding the cascade cameras.
Parameters
value
number
Returns
void
shadowBias
Get Signature
get shadowBias():
number|"auto"
Defined in: src/components/lights/DirectLight.ts:206
Shadow depth bias; 'auto' derives a texel-size-based value.
Returns
number | "auto"
Set Signature
set shadowBias(
value):void
Defined in: src/components/lights/DirectLight.ts:211
Set the shadow depth bias (NDC depth units), or 'auto'.
Parameters
value
number | "auto"
Returns
void
normalBias
Get Signature
get normalBias():
number|"auto"
Defined in: src/components/lights/DirectLight.ts:219
Shadow normal bias; 'auto' derives a texel-size-based value.
Returns
number | "auto"
Set Signature
set normalBias(
value):void
Defined in: src/components/lights/DirectLight.ts:224
Set the shadow normal bias (world units), or 'auto'.
Parameters
value
number | "auto"
Returns
void
shadowBoundWidth
Get Signature
get shadowBoundWidth():
number
Defined in: src/components/lights/DirectLight.ts:232
Width of the orthographic shadow bound (ignored when CSM is on).
Returns
number
Set Signature
set shadowBoundWidth(
value):void
Defined in: src/components/lights/DirectLight.ts:237
Set the orthographic shadow bound width (ignored when CSM is on).
Parameters
value
number
Returns
void
shadowBoundHeight
Get Signature
get shadowBoundHeight():
number
Defined in: src/components/lights/DirectLight.ts:248
Height of the orthographic shadow bound (ignored when CSM is on).
Returns
number
Set Signature
set shadowBoundHeight(
value):void
Defined in: src/components/lights/DirectLight.ts:253
Set the orthographic shadow bound height (ignored when CSM is on).
Parameters
value
number
Returns
void
shadowBoundNear
Get Signature
get shadowBoundNear():
number
Defined in: src/components/lights/DirectLight.ts:264
Near plane of the orthographic shadow bound (ignored when CSM is on).
Returns
number
Set Signature
set shadowBoundNear(
value):void
Defined in: src/components/lights/DirectLight.ts:269
Set the orthographic shadow bound near plane (ignored when CSM is on).
Parameters
value
number
Returns
void
shadowBoundFar
Get Signature
get shadowBoundFar():
number
Defined in: src/components/lights/DirectLight.ts:277
Far plane of the orthographic shadow bound (ignored when CSM is on).
Returns
number
Set Signature
set shadowBoundFar(
value):void
Defined in: src/components/lights/DirectLight.ts:282
Set the orthographic shadow bound far plane (ignored when CSM is on).
Parameters
value
number
Returns
void
radius
Get Signature
get radius():
number
Defined in: src/components/lights/DirectLight.ts:305
Get the radius of a directional light source
Returns
number
Set Signature
set radius(
value):void
Defined in: src/components/lights/DirectLight.ts:312
Set the radius of a directional light source
Parameters
value
number
Returns
void
indirect
Get Signature
get indirect():
number
Defined in: src/components/lights/DirectLight.ts:321
Get the indirect (global illumination) contribution factor of this directional light.
Returns
number
Set Signature
set indirect(
value):void
Defined in: src/components/lights/DirectLight.ts:329
Set the indirect (global illumination) contribution factor of this directional light.
Parameters
value
number
Returns
void
softness
Get Signature
get softness():
number
Defined in: src/components/lights/LightBase.ts:34
Per-light PCSS penumbra multiplier. Default -1 means "fall back to the global engine.setting.shadow.shadowSoft". Set a positive value to override on this light only (e.g. a large area light casts a wider penumbra than a small spotlight). Live-tunable — the value is republished to the GPU each frame via LightEntries.
Returns
number
Set Signature
set softness(
value):void
Defined in: src/components/lights/LightBase.ts:35
Parameters
value
number
Returns
void
Inherited from
LightBase.softness
iesProfiles
Set Signature
set iesProfiles(
iesProfiles):void
Defined in: src/components/lights/LightBase.ts:163
Parameters
iesProfiles
Returns
void
Inherited from
LightBase.iesProfiles
iesProfile
Get Signature
get iesProfile():
IESProfiles
Defined in: src/components/lights/LightBase.ts:173
Returns
Inherited from
LightBase.iesProfile
r
Get Signature
get r():
number
Defined in: src/components/lights/LightBase.ts:180
Get the red component of the lighting color
Returns
number
Set Signature
set r(
value):void
Defined in: src/components/lights/LightBase.ts:187
Set the red component of the lighting color
Parameters
value
number
Returns
void
Inherited from
LightBase.r
g
Get Signature
get g():
number
Defined in: src/components/lights/LightBase.ts:195
Get the green component of the lighting color
Returns
number
Set Signature
set g(
value):void
Defined in: src/components/lights/LightBase.ts:202
Set the green component of the lighting color
Parameters
value
number
Returns
void
Inherited from
LightBase.g
b
Get Signature
get b():
number
Defined in: src/components/lights/LightBase.ts:210
Get the blue component of the lighting color
Returns
number
Set Signature
set b(
value):void
Defined in: src/components/lights/LightBase.ts:216
Set the blue component of the lighting color
Parameters
value
number
Returns
void
Inherited from
LightBase.b
lightColor
Get Signature
get lightColor():
Color
Defined in: src/components/lights/LightBase.ts:224
Get light source color
Returns
Color
Set Signature
set lightColor(
value):void
Defined in: src/components/lights/LightBase.ts:231
Set light source color
Parameters
value
Returns
void
Inherited from
color
Get Signature
get color():
Color
Defined in: src/components/lights/LightBase.ts:240
Get light source color
Returns
Color
Set Signature
set color(
value):void
Defined in: src/components/lights/LightBase.ts:248
Set light source color
Parameters
value
Returns
void
Inherited from
LightBase.color
intensity
Get Signature
get intensity():
number
Defined in: src/components/lights/LightBase.ts:257
Get Illumination intensity of light source
Returns
number
number
Set Signature
set intensity(
value):void
Defined in: src/components/lights/LightBase.ts:265
Set Illumination intensity of light source
Parameters
value
number
Returns
void
Inherited from
castShadow
Get Signature
get castShadow():
boolean
Defined in: src/components/lights/LightBase.ts:281
Returns
boolean
Set Signature
set castShadow(
value):void
Defined in: src/components/lights/LightBase.ts:274
Cast Light Shadow
Parameters
value
boolean
Returns
void
Inherited from
shadowIndex
Get Signature
get shadowIndex():
number
Defined in: src/components/lights/LightBase.ts:288
get shadow index at shadow map list
Returns
number
Inherited from
LightBase.shadowIndex
castGI
Get Signature
get castGI():
boolean
Defined in: src/components/lights/LightBase.ts:297
get gi is enable
Returns
boolean
boolean
Set Signature
set castGI(
value):void
Defined in: src/components/lights/LightBase.ts:304
set gi is enable
Parameters
value
boolean
Returns
void
Inherited from
direction
Get Signature
get direction():
Vector3
Defined in: src/components/lights/LightBase.ts:318
light source direction
Returns
Vector3
Inherited from
LightBase.direction
Methods
stop()
stop():
void
Defined in: src/components/ComponentBase.ts:163
Returns
void
Inherited from
LightBase.stop
onUpdate()?
optionalonUpdate(view?):any
Defined in: src/components/ComponentBase.ts:166
Parameters
view?
Returns
any
Inherited from
LightBase.onUpdate
onLateUpdate()?
optionalonLateUpdate(view?):any
Defined in: src/components/ComponentBase.ts:167
Parameters
view?
Returns
any
Inherited from
LightBase.onLateUpdate
onBeforeUpdate()?
optionalonBeforeUpdate(view?):any
Defined in: src/components/ComponentBase.ts:168
Parameters
view?
Returns
any
Inherited from
LightBase.onBeforeUpdate
onCompute()?
optionalonCompute(view?,command?):any
Defined in: src/components/ComponentBase.ts:169
Parameters
view?
command?
GPUCommandEncoder
Returns
any
Inherited from
LightBase.onCompute
onGraphic()?
optionalonGraphic(view?):any
Defined in: src/components/ComponentBase.ts:170
Parameters
view?
Returns
any
Inherited from
LightBase.onGraphic
onParentChange()?
optionalonParentChange(lastParent?,currentParent?):any
Defined in: src/components/ComponentBase.ts:171
Parameters
lastParent?
currentParent?
Returns
any
Inherited from
LightBase.onParentChange
onAddChild()?
optionalonAddChild(child):any
Defined in: src/components/ComponentBase.ts:172
Parameters
child
Returns
any
Inherited from
LightBase.onAddChild
onRemoveChild()?
optionalonRemoveChild(child):any
Defined in: src/components/ComponentBase.ts:173
Parameters
child
Returns
any
Inherited from
LightBase.onRemoveChild
cloneTo()
cloneTo(
obj):void
Defined in: src/components/ComponentBase.ts:180
clone component data to target object3D
Parameters
obj
target object3D
Returns
void
Inherited from
LightBase.cloneTo
copyComponent()
copyComponent(
from):this
Defined in: src/components/ComponentBase.ts:182
Parameters
from
this
Returns
this
Inherited from
LightBase.copyComponent
beforeDestroy()
beforeDestroy(
force?):void
Defined in: src/components/ComponentBase.ts:249
before release this component, object refrences are not be set null now.
Parameters
force?
boolean
Returns
void
Inherited from
LightBase.beforeDestroy
start()
start():
void
Defined in: src/components/lights/DirectLight.ts:43
Initialize the shadow camera frustum to a usable default cube.
Returns
void
Overrides
LightBase.start
updateShadowCameraCSM()
updateShadowCameraCSM(
renderCamera):void
Defined in: src/components/lights/DirectLight.ts:69
Recompute the per-cascade shadow cameras from the render camera's frustum, using a rotation-invariant sphere fit plus texel snapping to keep cascade shadows stable as the camera moves.
Parameters
renderCamera
the main rendering camera
Returns
void
init()
init():
void
Defined in: src/components/lights/DirectLight.ts:290
Initialize as a directional light and assign a default name.
Returns
void
Overrides
LightBase.init
destroy()
destroy(
force?):void
Defined in: src/components/lights/DirectLight.ts:360
Destroy the light and its (parentless) shadow/CSM cameras.
Parameters
force?
boolean
Returns
void
Overrides
LightBase.destroy
onEnable()
onEnable():
void
Defined in: src/components/lights/LightBase.ts:152
Returns
void
Inherited from
LightBase.onEnable
onDisable()
onDisable():
void
Defined in: src/components/lights/LightBase.ts:157
Returns
void
Inherited from
LightBase.onDisable

