Class ShadowLight
Hierarchy
-
Light
- ShadowLight
Implements
Index
Constructors
Properties
- animations
- custom
Projection Matrix Builder - diffuse
- falloff
Type - id
- inspectable
Custom Properties - intensity
- metadata
- name
- on
Dispose Observable - on
Ready - render
Priority - reserved
Data Store - specular
- state
- transformed
Direction - transformed
Position - unique
Id - FALLOFF_
DEFAULT - FALLOFF_
GLTF - FALLOFF_
PHYSICAL - FALLOFF_
STANDARD - INTENSITYMODE_
AUTOMATIC - INTENSITYMODE_
ILLUMINANCE - INTENSITYMODE_
LUMINANCE - INTENSITYMODE_
LUMINOUSINTENSITY - INTENSITYMODE_
LUMINOUSPOWER - LIGHTMAP_
DEFAULT - LIGHTMAP_
SHADOWSONLY - LIGHTMAP_
SPECULAR - LIGHTTYPEID_
DIRECTIONALLIGHT - LIGHTTYPEID_
HEMISPHERICLIGHT - LIGHTTYPEID_
POINTLIGHT - LIGHTTYPEID_
SPOTLIGHT
Accessors
Methods
- _bind
Light - add
Behavior - begin
Animation - can
Affect Mesh - clone
- compute
Transformed Information - compute
World Matrix - create
Animation Range - delete
Animation Range - dispose
- force
Projection Matrix Compute - get
Absolute Position - get
Animation ByName - get
Animation Range - get
Animation Ranges - get
Behavior ByName - get
Child Meshes - get
Children - get
Class Name - get
Depth MaxZ - get
Depth MinZ - get
Depth Scale - get
Descendants - get
Engine - get
Hierarchy Bounding Vectors - get
Rotation - get
Scaled Intensity - get
Scene - get
Shadow Direction - get
Shadow Generator - get
TypeID - get
World Matrix - is
Descendant Of - is
Disposed - is
Enabled - is
Ready - need
Cube - need
Projection Matrix Compute - prepare
Light Specific Defines - remove
Behavior - serialize
- serialize
Animation Ranges - set
Direction ToTarget - set
Enabled - set
Shadow Projection Matrix - to
String - transfer
Textures ToEffect - transfer
ToEffect - transfer
ToNode Material Effect - Add
Node Constructor - Compare
Lights Priority - Construct
- Get
Constructor From Name - Parse
- Parse
Animation Ranges
Constructors
constructor
-
Creates a Light object in the scene. Documentation : https://doc.babylonjs.com/babylon101/lights
Parameters
-
name: string
The firendly name of the light
-
scene: Scene
The scene the light belongs too
Returns ShadowLight
-
Properties
animationsSearch playground for animations
Gets a list of Animations associated with the node
custom Projection Matrix BuilderSearch playground for customProjectionMatrixBuilder
Callback defining a custom Projection Matrix Builder. This can be used to override the default projection matrix computation.
Type declaration
-
-
Parameters
-
viewMatrix: Matrix
-
renderList: Array<AbstractMesh>
-
result: Matrix
Returns void
-
-
diffuseSearch playground for diffuse
Diffuse gives the basic color to an object.
falloff TypeSearch playground for falloffType
Defines the falloff type for this light. This lets overrriding how punctual light are falling off base on range or angle. This can be set to any values in Light.FALLOFF_x.
Note: This is only useful for PBR Materials at the moment. This could be extended if required to other types of materials.
idSearch playground for id
Gets or sets the id of the node
inspectable Custom PropertiesSearch playground for inspectableCustomProperties
List of inspectable custom properties (used by the Inspector)
intensitySearch playground for intensity
Strength of the light. Note: By default it is define in the framework own unit. Note: In PBR materials the intensityMode can be use to chose what unit the intensity is defined in.
metadataSearch playground for metadata
Gets or sets an object used to store user defined information for the node
nameSearch playground for name
Gets or sets the name of the node
on Dispose ObservableSearch playground for onDisposeObservable
An event triggered when the mesh is disposed
on ReadySearch playground for onReady
Callback raised when the node is ready to be used
render PrioritySearch playground for renderPriority
Defines the rendering priority of the lights. It can help in case of fallback or number of lights exceeding the number allowed of the materials.
reserved Data StoreSearch playground for reservedDataStore
For internal use only. Please do not use.
specularSearch playground for specular
Specular produces a highlight color on an object. Note: This is note affecting PBR materials.
stateSearch playground for state
Gets or sets a string used to store user defined state for the node
transformed DirectionSearch playground for transformedDirection
The transformed direction. Direction of the light in world space taking parenting in account.
transformed PositionSearch playground for transformedPosition
The transformed position. Position of the light in world space taking parenting in account.
unique IdSearch playground for uniqueId
Gets or sets the unique id of the node
Static Readonly FALLOFF_ DEFAULTSearch playground for FALLOFF_DEFAULT
Falloff Default: light is falling off following the material specification: standard material is using standard falloff whereas pbr material can request special falloff per materials.
Static Readonly FALLOFF_ GLTFSearch playground for FALLOFF_GLTF
Falloff gltf: light is falling off as described in the gltf moving to PBR document to enhance interoperability with other engines.
Static Readonly FALLOFF_ PHYSICALSearch playground for FALLOFF_PHYSICAL
Falloff Physical: light is falling off following the inverse squared distance law.
Static Readonly FALLOFF_ STANDARDSearch playground for FALLOFF_STANDARD
Falloff Standard: light is falling off like in the standard material to enhance interoperability with other materials.
Static Readonly INTENSITYMODE_ AUTOMATICSearch playground for INTENSITYMODE_AUTOMATIC
Each light type uses the default quantity according to its type: point/spot lights use luminous intensity directional lights use illuminance
Static Readonly INTENSITYMODE_ ILLUMINANCESearch playground for INTENSITYMODE_ILLUMINANCE
lux (lm/m^2)
Static Readonly INTENSITYMODE_ LUMINANCESearch playground for INTENSITYMODE_LUMINANCE
nit (cd/m^2)
Static Readonly INTENSITYMODE_ LUMINOUSINTENSITYSearch playground for INTENSITYMODE_LUMINOUSINTENSITY
candela (lm/sr)
Static Readonly INTENSITYMODE_ LUMINOUSPOWERSearch playground for INTENSITYMODE_LUMINOUSPOWER
lumen (lm)
Static Readonly LIGHTMAP_ DEFAULTSearch playground for LIGHTMAP_DEFAULT
If every light affecting the material is in this lightmapMode, material.lightmapTexture adds or multiplies (depends on material.useLightmapAsShadowmap) after every other light calculations.
Static Readonly LIGHTMAP_ SHADOWSONLYSearch playground for LIGHTMAP_SHADOWSONLY
material.lightmapTexture as only lighting no light calculation from this light only adds dynamic shadows from this light
Static Readonly LIGHTMAP_ SPECULARSearch playground for LIGHTMAP_SPECULAR
material.lightmapTexture as only diffuse lighting from this light adds only specular lighting from this light adds dynamic shadows
Static Readonly LIGHTTYPEID_ DIRECTIONALLIGHTSearch playground for LIGHTTYPEID_DIRECTIONALLIGHT
Light type const id of the directional light.
Static Readonly LIGHTTYPEID_ HEMISPHERICLIGHTSearch playground for LIGHTTYPEID_HEMISPHERICLIGHT
Light type const id of the hemispheric light.
Static Readonly LIGHTTYPEID_ POINTLIGHTSearch playground for LIGHTTYPEID_POINTLIGHT
Light type const id of the point light.
Static Readonly LIGHTTYPEID_ SPOTLIGHTSearch playground for LIGHTTYPEID_SPOTLIGHT
Light type const id of the spot light.
Accessors
animation Properties Override
-
Gets or sets the animation properties override
Returns Nullable<AnimationPropertiesOverride>
-
Gets or sets the animation properties override
Parameters
-
value: Nullable<AnimationPropertiesOverride>
Returns any
-
behaviors
direction
-
In 2d mode (needCube being false), gets the direction used to cast the shadow. Also use as the light direction on spot and directional lights.
Returns Vector3
-
In 2d mode (needCube being false), sets the direction used to cast the shadow. Also use as the light direction on spot and directional lights.
Parameters
-
value: Vector3
Returns any
-
do Not Serialize
-
Gets or sets a boolean used to define if the node must be serialized
Returns boolean
-
Gets or sets a boolean used to define if the node must be serialized
Parameters
-
value: boolean
Returns any
-
exclude With Layer Mask
-
Gets the layer id use to find what meshes are not impacted by the light. Inactive if 0
Returns number
-
Sets the layer id use to find what meshes are not impacted by the light. Inactive if 0
Parameters
-
value: number
Returns any
-
excluded Meshes
-
Gets the meshes not impacted by this light.
Returns AbstractMesh[]
-
Sets the meshes not impacted by this light.
Parameters
-
value: AbstractMesh[]
Returns any
-
include Only With Layer Mask
-
Gets the layer id use to find what meshes are impacted by the light. Inactive if 0
Returns number
-
Sets the layer id use to find what meshes are impacted by the light. Inactive if 0
Parameters
-
value: number
Returns any
-
included Only Meshes
-
Gets the only meshes impacted by this light.
Returns AbstractMesh[]
-
Sets the only meshes impacted by this light.
Parameters
-
value: AbstractMesh[]
Returns any
-
intensity Mode
-
Gets the photometric scale used to interpret the intensity. This is only relevant with PBR Materials where the light intensity can be defined in a physical way.
Returns number
-
Sets the photometric scale used to interpret the intensity. This is only relevant with PBR Materials where the light intensity can be defined in a physical way.
Parameters
-
value: number
Returns any
-
lightmap Mode
-
Gets the lightmap mode of this light (should be one of the constants defined by Light.LIGHTMAP_x)
Returns number
-
Sets the lightmap mode of this light (should be one of the constants defined by Light.LIGHTMAP_x)
Parameters
-
value: number
Returns any
-
on Dispose
-
Sets a callback that will be raised when the node will be disposed
Parameters
-
callback: () => void
-
-
Returns void
-
-
Returns any
-
parent
position
radius
-
Gets the light radius used by PBR Materials to simulate soft area lights.
Returns number
-
sets the light radius used by PBR Materials to simulate soft area lights.
Parameters
-
value: number
Returns any
-
range
-
Defines how far from the source the light is impacting in scene units. Note: Unused in PBR material as the distance light falloff is defined following the inverse squared falloff.
Returns number
-
Defines how far from the source the light is impacting in scene units. Note: Unused in PBR material as the distance light falloff is defined following the inverse squared falloff.
Parameters
-
value: number
Returns any
-
shadow Enabled
-
Gets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching the current shadow generator.
Returns boolean
-
Sets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching the current shadow generator.
Parameters
-
value: boolean
Returns any
-
shadow MaxZ
-
Sets the shadow projection clipping maximum z value.
Returns number
-
Gets the shadow projection clipping maximum z value.
Parameters
-
value: number
Returns any
-
shadow MinZ
-
Gets the shadow projection clipping minimum z value.
Returns number
-
Sets the shadow projection clipping minimum z value.
Parameters
-
value: number
Returns any
-
world Matrix From Cache
-
Returns directly the latest state of the mesh World matrix. A Matrix is returned.
Returns Matrix
Methods
_bind LightSearch playground for _bindLight
-
Binds the lights information from the scene to the effect for the given mesh.
Parameters
-
lightIndex: number
Light index
-
scene: Scene
The scene where the light belongs to
-
effect: Effect
The effect we are binding the data to
-
useSpecular: boolean
Defines if specular is supported
-
Optional rebuildInParallel: boolean
Specifies whether the shader is rebuilding in parallel
Returns void
-
add BehaviorSearch playground for addBehavior
begin AnimationSearch playground for beginAnimation
-
Will start the animation sequence
Parameters
-
name: string
defines the range frames for animation sequence
-
Optional loop: boolean
defines if the animation should loop (false by default)
-
Optional speedRatio: number
defines the speed factor in which to run the animation (1 by default)
-
Optional onAnimationEnd: () => void
defines a function to be executed when the animation ended (undefined by default)
-
-
Returns void
-
-
Returns Nullable<Animatable>
the object created for this animation. If range does not exist, it will return null
-
can Affect MeshSearch playground for canAffectMesh
-
Specifies if the light will affect the passed mesh.
Parameters
-
mesh: AbstractMesh
The mesh to test against the light
Returns boolean
true the mesh is affected otherwise, false.
-
cloneSearch playground for clone
compute Transformed InformationSearch playground for computeTransformedInformation
-
Computes the transformed information (transformedPosition and transformedDirection in World space) of the current light
Returns boolean
true if the information has been computed, false if it does not need to (no parenting)
compute World MatrixSearch playground for computeWorldMatrix
-
Computes the world matrix of the node
Parameters
-
Optional force: boolean
defines if the cache version should be invalidated forcing the world matrix to be created from scratch
Returns Matrix
the world matrix
-
create Animation RangeSearch playground for createAnimationRange
-
Creates an animation range for this node
Parameters
-
name: string
defines the name of the range
-
from: number
defines the starting key
-
to: number
defines the end key
Returns void
-
delete Animation RangeSearch playground for deleteAnimationRange
-
Delete a specific animation range
Parameters
-
name: string
defines the name of the range to delete
-
Optional deleteFrames: boolean
defines if animation frames from the range must be deleted as well
Returns void
-
disposeSearch playground for dispose
-
Releases resources associated with this node.
Parameters
-
Optional doNotRecurse: boolean
Set to true to not recurse into each children (recurse into each children by default)
-
Optional disposeMaterialAndTextures: boolean
Set to true to also dispose referenced materials and textures (false by default)
Returns void
-
force Projection Matrix ComputeSearch playground for forceProjectionMatrixCompute
-
Forces the shadow generator to recompute the projection matrix even if position and direction did not changed.
Returns void
get Absolute PositionSearch playground for getAbsolutePosition
-
Returns the ShadowLight absolute position in the World.
Returns Vector3
the position vector in world space
get Animation ByNameSearch playground for getAnimationByName
get Animation RangeSearch playground for getAnimationRange
-
Get an animation range by name
Parameters
-
name: string
defines the name of the animation range to look for
Returns Nullable<AnimationRange>
null if not found else the requested animation range
-
get Animation RangesSearch playground for getAnimationRanges
-
Gets the list of all animation ranges defined on this node
Returns Nullable<AnimationRange>[]
an array
get Behavior ByNameSearch playground for getBehaviorByName
get Child MeshesSearch playground for getChildMeshes
-
Get all child-meshes of this node
Parameters
-
Optional directDescendantsOnly: boolean
defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: false)
-
Optional predicate: (node: Node) => boolean
defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored
-
-
Parameters
-
node: Node
Returns boolean
-
-
-
Returns AbstractMesh[]
an array of AbstractMesh
-
get ChildrenSearch playground for getChildren
-
Get all direct children of this node
Parameters
-
Optional predicate: (node: Node) => boolean
defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored
-
-
Parameters
-
node: Node
Returns boolean
-
-
-
-
Optional directDescendantsOnly: boolean
defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: true)
Returns Node[]
an array of Node
-
get Class NameSearch playground for getClassName
-
Returns the string "Light".
Returns string
the class name
get Depth MaxZSearch playground for getDepthMaxZ
-
Gets the maxZ used for shadow according to both the scene and the light.
Parameters
-
activeCamera: Camera
The camera we are returning the max for
Returns number
the depth max z
-
get Depth MinZSearch playground for getDepthMinZ
-
Gets the minZ used for shadow according to both the scene and the light.
Parameters
-
activeCamera: Camera
The camera we are returning the min for
Returns number
the depth min z
-
get Depth ScaleSearch playground for getDepthScale
-
Return the depth scale used for the shadow map.
Returns number
the depth scale.
get DescendantsSearch playground for getDescendants
-
Will return all nodes that have this node as ascendant
Parameters
-
Optional directDescendantsOnly: boolean
defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered
-
Optional predicate: (node: Node) => boolean
defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored
-
-
Parameters
-
node: Node
Returns boolean
-
-
-
Returns Node[]
all children nodes of all types
-
get EngineSearch playground for getEngine
-
Gets the engine of the node
Returns Engine
a Engine
get Hierarchy Bounding VectorsSearch playground for getHierarchyBoundingVectors
-
Return the minimum and maximum world vectors of the entire hierarchy under current node
Parameters
-
Optional includeDescendants: boolean
Include bounding info from descendants as well (true by default)
-
Optional predicate: Nullable<(abstractMesh: AbstractMesh) => boolean>
defines a callback function that can be customize to filter what meshes should be included in the list used to compute the bounding vectors
Returns { max: Vector3; min: Vector3 }
the new bounding vectors
-
get RotationSearch playground for getRotation
-
Returns the light rotation in euler definition.
Returns Vector3
the x y z rotation in local space.
get Scaled IntensitySearch playground for getScaledIntensity
-
Returns the intensity scaled by the Photometric Scale according to the light type and intensity mode.
Returns number
the scaled intensity in intensity mode unit
get SceneSearch playground for getScene
-
Gets the scene of the node
Returns Scene
a scene
get Shadow DirectionSearch playground for getShadowDirection
-
Get the direction to use to render the shadow map. In case of cube texture, the face index can be passed.
Parameters
-
Optional faceIndex: number
The index of the face we are computed the direction to generate shadow
Returns Vector3
The set direction in 2d mode otherwise the direction to the cubemap face if needCube() is true
-
get Shadow GeneratorSearch playground for getShadowGenerator
-
Returns the Light associated shadow generator if any.
Returns Nullable<IShadowGenerator>
the associated shadow generator.
get TypeIDSearch playground for getTypeID
-
Returns the light type ID (integer).
Returns number
The light Type id as a constant defines in Light.LIGHTTYPEID_x
get World MatrixSearch playground for getWorldMatrix
-
Returns the latest update of the World matrix
Returns Matrix
a Matrix
is Descendant OfSearch playground for isDescendantOf
-
Is this node a descendant of the given node? The function will iterate up the hierarchy until the ancestor was found or no more parents defined
Parameters
-
ancestor: Node
defines the parent node to inspect
Returns boolean
a boolean indicating if this node is a descendant of the given node
-
is DisposedSearch playground for isDisposed
-
Gets a boolean indicating if the node has been disposed
Returns boolean
true if the node was disposed
is EnabledSearch playground for isEnabled
-
Is this node enabled? If the node has a parent, all ancestors will be checked and false will be returned if any are false (not enabled), otherwise will return true
Parameters
-
Optional checkAncestors: boolean
indicates if this method should check the ancestors. The default is to check the ancestors. If set to false, the method will return the value of this node without checking ancestors
Returns boolean
whether this node (and its parent) is enabled
-
is ReadySearch playground for isReady
-
Is this node ready to be used/rendered
Parameters
-
Optional completeCheck: boolean
defines if a complete check (including materials and lights) has to be done (false by default)
Returns boolean
true if the node is ready
-
need CubeSearch playground for needCube
-
Returns whether or not the shadow generation require a cube texture or a 2d texture.
Returns boolean
true if a cube texture needs to be use
need Projection Matrix ComputeSearch playground for needProjectionMatrixCompute
-
Detects if the projection matrix requires to be recomputed this frame.
Returns boolean
true if it requires to be recomputed otherwise, false.
Abstract prepare Light Specific DefinesSearch playground for prepareLightSpecificDefines
-
Prepares the list of defines specific to the light type.
Parameters
-
defines: any
the list of defines
-
lightIndex: number
defines the index of the light for the effect
Returns void
-
remove BehaviorSearch playground for removeBehavior
serializeSearch playground for serialize
-
Serializes the current light into a Serialization object.
Returns any
the serialized object.
serialize Animation RangesSearch playground for serializeAnimationRanges
-
Serialize animation ranges into a JSON compatible object
Returns any
serialization object
set Direction ToTargetSearch playground for setDirectionToTarget
set EnabledSearch playground for setEnabled
-
Set the enabled state of this node.
Parameters
-
value: boolean
the new enabled state
Returns void
-
set Shadow Projection MatrixSearch playground for setShadowProjectionMatrix
-
Sets the shadow projection matrix in parameter to the generated projection matrix.
Parameters
-
matrix: Matrix
The materix to updated with the projection information
-
viewMatrix: Matrix
The transform matrix of the light
-
renderList: Array<AbstractMesh>
The list of mesh to render in the map
Returns IShadowLight
The current light
-
to StringSearch playground for toString
-
Converts the light information to a readable string for debug purpose.
Parameters
-
Optional fullDetails: boolean
Supports for multiple levels of logging within scene loading
Returns string
the human readable light info
-
transfer Textures ToEffectSearch playground for transferTexturesToEffect
Abstract transfer ToEffectSearch playground for transferToEffect
Abstract transfer ToNode Material EffectSearch playground for transferToNodeMaterialEffect
Static Add Node ConstructorSearch playground for AddNodeConstructor
-
Add a new node constructor
Parameters
-
type: string
defines the type name of the node to construct
-
constructorFunc: NodeConstructor
defines the constructor function
Returns void
-
Static Compare Lights PrioritySearch playground for CompareLightsPriority
Static ConstructSearch playground for Construct
-
Returns a node constructor based on type name
Parameters
-
type: string
defines the type name
-
name: string
defines the new node name
-
scene: Scene
defines the hosting scene
-
Optional options: any
defines optional options to transmit to constructors
Returns Nullable<() => Node>
the new constructor or null
-
Static Get Constructor From NameSearch playground for GetConstructorFromName
-
Creates a new typed light from the passed type (integer) : point light = 0, directional light = 1, spot light = 2, hemispheric light = 3. This new light is named "name" and added to the passed scene.
Parameters
-
type: number
Type according to the types available in Light.LIGHTTYPEID_x
-
name: string
The friendly name of the light
-
scene: Scene
The scene the new light will belong to
Returns Nullable<() => Light>
the constructor function
-
Base implementation IShadowLight It groups all the common behaviour in order to reduce dupplication and better follow the DRY pattern.