Class Light
Hierarchy
Implements
Index
Constructors
Properties
- animations
- diffuse
- falloff
Type - id
- inspectable
Custom Properties - intensity
- metadata
- name
- on
Dispose Observable - on
Ready - render
Priority - reserved
Data Store - specular
- state
- 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
World Matrix - create
Animation Range - delete
Animation Range - dispose
- get
Absolute Position - get
Animation ByName - get
Animation Range - get
Animation Ranges - get
Behavior ByName - get
Child Meshes - get
Children - get
Class Name - get
Descendants - get
Engine - get
Hierarchy Bounding Vectors - get
Scaled Intensity - get
Scene - get
Shadow Generator - get
TypeID - get
World Matrix - is
Descendant Of - is
Disposed - is
Enabled - is
Ready - prepare
Light Specific Defines - remove
Behavior - serialize
- serialize
Animation Ranges - set
Enabled - 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 Light
-
Properties
animationsSearch playground for animations
Gets a list of Animations associated with the node
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
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
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
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
-
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 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
-
get Absolute PositionSearch playground for getAbsolutePosition
-
Returns a Vector3, the absolute light position in the World.
Returns Vector3
the world space position of the light
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 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 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 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
-
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 EnabledSearch playground for setEnabled
-
Set the enabled state of this node.
Parameters
-
value: boolean
the new enabled state
Returns void
-
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 class of all the lights in Babylon. It groups all the generic information about lights. Lights are used, as you would expect, to affect how meshes are seen, in terms of both illumination and colour. All meshes allow light to pass through them unless shadow generation is activated. The default number of lights allowed is four but this can be increased.