SpotLight
This light gets emitted from a single point in one direction, along a cone that increases in size the further from the light it gets.
Type Parameters
- T extends TextureV2 | Texture2D = Texture2D
Hierarchy
- Light
- SpotLight
Constructors
constructor
Properties
StaticDefault UpVector3(0, 1, 0)
Every objects in 3D space must have a default up direction.
Inherited from Light.DefaultUp
id
Unique number for each object3D instance.
category Id
Reserved attribute
Inherited from Light.categoryId
source Type
Record the object rendered as instance or other type.
Inherited from Light.sourceType
scene
The scene which this object belong to.
update Dirty Id-1
The number is the frame id which this object is changed or participates change of scene graph. If this value equals to frame id - 1,
Inherited from Light.updateDirtyId
name
The name of this object, it is empty if useless.
is Object3 D
Used to check type of this or extended instance. This value should not be changed by user.
Inherited from Light.isObject3D
parent
Object's parent node in the scene graph. An object can have at most one parent.
children
Array with object's children.
up
This is used by the lookAt method, for example, to determine the orientation of the result. Default is DefaultUp .
world Matrix Update Timestamp
Record when this object's world matrix last updated.
Inherited from Light.worldMatrixUpdateTimestamp
transform Changed
Record whether the object's any attribute| attribute is updated.
Inherited from Light.transformChanged
visible Changed
Inherited from Light.visibleChanged
matrix World
The global transform of the object. If the Object3D has no parent, then it's identical to the local transform matrix.
Inherited from Light.matrixWorld
matrix World Needs Updatefalse
When this is set, it calculates the matrixWorld in that frame and resets this property to false.
Inherited from Light.matrixWorldNeedsUpdate
net Visibility
Record if the object is really visible in rendering process. If the Object3D has no parent, it would be set by visible ;
Inherited from Light.netVisibility
local Matrix Need Updatefalse
When this is set, it calculates the model matrix in that frame and resets this property to false.
Inherited from Light.localMatrixNeedUpdate
type
The type of this Object3D.
is Light
Check the type whether it belongs to Light. This value should not be changed by user.
color
Color of the light. This value can influence the color of model's surface according to the material. Defaults to a new color set to white, if not passed in the constructor.
intensity1
The light's intensity, or strength. In physically correct mode, the product of color * intensity is interpreted as luminous intensity measured in candela.
view Matrix
inv View Matrix
angleMath.PI/3
Maximum extent of the spotlight, in radians, from its direction. Should be no more than Math.PI/2.
penumbra0
Percent of the spotlight cone that is attenuated due to penumbra. Takes values between zero and 1.
ies Intensity Scale1
The intensity scale of IES file.
ies Texture ResolutionVector2(182, 1)
Resolution of ies texture.
decay1
The amount the light dims along the distance of the light In physically correct mode, decay = 2 leads to physically realistic light falloff.
is IES Enabled
is Rotation Mode Onfalse
To support IES, spotLight set isRotationModeOn as true to calculate intensity according to rotation of light.
is Spot Light
Check the type whether it belongs to PerspectiveCamera. This value should not be changed by user.
default Direction
direction
shadow
is Shadow Needs Update
Readonlyuser Data
_ uuid
uuid
_ listeners
Inherited from Light._listeners
Accessors
layers
Returns Layers
Inherited from Light.layers
interaction Layers
Returns Layers | undefined
Inherited from Light.interactionLayers
group Layer
Returns Layers | undefined
Inherited from Light.groupLayer
position
Returns Vector3
Inherited from Light.position
rotation
quaternion
Returns Quaternion
Inherited from Light.quaternion
Object's local rotation as a Quaternion.
Parameters
- _quaternion: Quaternion
Returns void
Remarks
See Quaternion for more details.
Inherited from Light.quaternion
scaleVector3( 1, 1, 1 )
Returns Vector3
Inherited from Light.scale
matrix
visibletrue
- get visible(): boolean
Object gets rendered if true.
Returns boolean
Inherited from Light.visible
- set visible(value: boolean): void
Parameters
- value: boolean
Returns void
Inherited from Light.visible
enabled
- get enabled(): boolean
Returns boolean
Inherited from Light.enabled
- set enabled(v: boolean): void
Parameters
- v: boolean
Returns void
Inherited from Light.enabled
StaticDEFAULT_ TARGET
Returns Object3D
target
texture IES
power
- get power(): number
The light's power. In physically correct mode, the luminous power of the light measured in lumens. This is directly related to the intensity in the ratio
Returns number
- set power(power: number): void
Parameters
- power: number
Returns void
distance
- get distance(): number
When distance is zero, light does not attenuate. When distance is non-zero, light will attenuate linearly from maximum intensity at the light's position down to zero at this distance from the light.
Returns number
- set distance(dis: number): void
Parameters
- dis: number
Returns void
business Tag
- get businessTag(): string
Returns string
Inherited from Light.businessTag
- set businessTag(v: string): void
Parameters
- v: string
Returns void
Inherited from Light.businessTag
Methods
free GPU
sync Data
update Visibility
Scene will check the object's visibility in each render and make change netVisibility based on its and parent's visible .
Returns boolean
Inherited from Light.updateVisibility
clear Change Mark
Returns void
Inherited from Light.clearChangeMark
set Matrix Updated
If the local matrix is changed, use this method to manually refresh data in scene graph.
Returns void
Tips
It's better to use notifySceneChange() as an alternative.
Inherited from Light.setMatrixUpdated
notify Scene Change
Use this method to manually refresh data in scene graph and draw again. The engine may not notify every change of the scene. If any effect is not changed with the parameters, use this may solve.
Returns void
Inherited from Light.notifySceneChange
set Matrix Dirty
If the local matrix or world matrix is changed, use this method to make engine refresh data in scene graph automatically. This method will set matrixWorldNeedsUpdate and localMatrixNeedUpdate to true.
Returns void
Inherited from Light.setMatrixDirty
update World Render Data
Change matrixWorldNeedsUpdate and worldMatrixUpdateTimestamp state. This method will refresh data of world matrix by updateMatrixWorld
Parameters
- updateID: number
This number is used to identify the render.
Returns boolean
Inherited from Light.updateWorldRenderData
- updateID: number
is Flipped
local To World
Converts the vector from local space to world space.
Parameters
- vector: Vector3
A vector represents a position in local (object) coordinate.
Returns Vector3
Inherited from Light.localToWorld
- vector: Vector3
world To Local
Updates the vector from world space to local space.
Parameters
- vector: Vector3
A vector in world coordinate.
Returns Vector3
Inherited from Light.worldToLocal
- vector: Vector3
apply Matrix
Applies the matrix transform to the object and updates the object's position, rotation and scale.
Parameters
- matrix: Matrix4
A matrix represents the information of transform.
Returns void
Inherited from Light.applyMatrix
- matrix: Matrix4
apply Quaternion
Applies the rotation represented by the quaternion to the object.
Parameters
- q: Quaternion
A Quaternion represents the information of rotation.
Returns this
Inherited from Light.applyQuaternion
- q: Quaternion
set Rotation From Axis Angle
Calls setFromAxisAngle ( axis, angle ) on the Quaternion.
Parameters
- axis: Vector3
A normalized vector in object space.
- angle: number
Angle in radians.
Returns void
Inherited from Light.setRotationFromAxisAngle
- axis: Vector3
set Rotation From Euler
Calls Quaternion.setRotationFromEuler| setRotationFromEuler(euler, true) on the Quaternion.
Parameters
- euler: Euler
Euler angle specifying rotation amount.
Returns void
Inherited from Light.setRotationFromEuler
- euler: Euler
set Rotation From Matrix
Calls setFromRotationMatrix (m) on the Quaternion.
Parameters
- m: Matrix4
Euler angle specifying rotation amount.
Returns void
Inherited from Light.setRotationFromMatrix
- m: Matrix4
set Rotation From Quaternion
Copy the given quaternion to object's quaternion .
Parameters
- q: Quaternion
Euler angle specifying rotation amount.
Returns void
Inherited from Light.setRotationFromQuaternion
- q: Quaternion
rotate On Axis
Rotate an object along an axis in object space. The axis is assumed to be normalized.
Parameters
- axis: Vector3
A normalized vector in object space.
- angle: number
Angle in radians.
Returns this
Inherited from Light.rotateOnAxis
- axis: Vector3
rotate On World Axis
Rotate an object along an axis in world space. The axis is assumed to be normalized. Method Assumes no rotated parent.
Parameters
- axis: Vector3
A normalized vector in object space.
- angle: number
Angle in radians.
Returns this
Inherited from Light.rotateOnWorldAxis
- axis: Vector3
rotate X
rotate Y
rotate Z
translate On Axis
Translate an object by distance along an axis in object space. The axis is assumed to be normalized.
Parameters
- axis: Vector3
A normalized vector in object space.
- distance: number
The distance to translate.
Returns this
Inherited from Light.translateOnAxis
- axis: Vector3
translate X
Translates object along x axis in object space by distance units.
Parameters
- distance: number
The distance to translate.
Returns this
Inherited from Light.translateX
- distance: number
translate Y
Translates object along y axis in object space by distance units.
Parameters
- distance: number
The distance to translate.
Returns this
Inherited from Light.translateY
- distance: number
translate Z
Translates object along z axis in object space by distance units.
Parameters
- distance: number
The distance to translate.
Returns this
Inherited from Light.translateZ
- distance: number
look At
look At Local Point
Rotates the object to face a point in local space.
Parameters
- _x: Vector3
A vector representing position of target in local space.
Returns void
Inherited from Light.lookAtLocalPoint
- _x: Vector3
add
Adds object as child of this object. An arbitrary number of objects may be added. Any current parent on an object passed in here will be removed, since an object can have at most one parent. The scene graph change will be immediately notify by engine after adding nodes.
Parameters
Returns this
remove
remove From Parent
Returns void
Inherited from Light.removeFromParent
remove All Children
remove Objects
Remove all children in specified objects from this objects. Migrate from tools common
Parameters
- objects: Object3D[]
An array of objects which need to be removed.
Returns this
Inherited from Light.removeObjects
- objects: Object3D[]
get Object By Id
Searches through an object and its children, starting with the object itself, and returns the first with a matching id. Note that ids are assigned in chronological order: 1, 2, 3, ..., incrementing by one for each new object.
Parameters
- id: number
Unique number of the object instance.
Returns Object3D
Inherited from Light.getObjectById
- id: number
get Object By Name
Searches through an object and its children, starting with the object itself, and returns the first with a matching name. Note that for most objects the name is an empty string by default. You will have to set it manually to make use of this method.
Parameters
- name: string
String to match to the children's Object3D.name property.
Returns Object3D
Inherited from Light.getObjectByName
- name: string
get Object By Property
Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.
Parameters
- name: string
The property name to search for.
- value: any
Value of the given property.
Returns Object3D
Inherited from Light.getObjectByProperty
- name: string
get World Position
Return a vector representing the position of the object in world space.
Parameters
- target: Vector3
the result will be copied into this Vector3.
Returns Vector3
Inherited from Light.getWorldPosition
- target: Vector3
get World Quaternion
Return a quaternion representing the rotation of the object in world space.
Parameters
- target: Quaternion
the result will be copied into this Quaternion.
Returns Quaternion
Inherited from Light.getWorldQuaternion
- target: Quaternion
get World Scale
Return a vector of the scaling factors applied to the object for each axis in world space.
Parameters
- target: Vector3
the result will be copied into this Vector3.
Returns Vector3
Inherited from Light.getWorldScale
- target: Vector3
get World Direction
Return a vector representing the direction of object's positive z-axis in world space.
Parameters
- target: Vector3
the result will be copied into this Vector3.
Returns Vector3
Inherited from Light.getWorldDirection
- target: Vector3
traverse
traverse With Children Skip
Execute the callback when return is false, stop traverse the object's descendants.
Parameters
- callback: (object: Object3D) => boolean
A function with as first argument an object3D object, return boolean.
Returns void
Inherited from Light.traverseWithChildrenSkip
- callback: (object: Object3D) => boolean
traverse Visible
Execute the callback on this object and all descendants which is visible.
Parameters
- callback: (object: Object3D) => any
A function with as first argument an object3D object.
Returns void
Inherited from Light.traverseVisible
- callback: (object: Object3D) => any
traverse Ancestors
Execute the callback on this object and all ancestors.
Parameters
- callback: (object: Object3D) => any
A function with as first argument an object3D object.
Returns void
Inherited from Light.traverseAncestors
- callback: (object: Object3D) => any
update Matrix
update Matrix World
Update the object's and its descendants' matrix of global transform with. If the parameter or matrixWorldNeedsUpdate is true, matrix will not skip updates.
Parameters
- force: boolean
Whether or not force to updates the matrix.
Returns void
Inherited from Light.updateMatrixWorld
- force: boolean
update World Matrix
Update the object's and its descendants' matrix of global transform with. will update parent or children according to the parameters
Parameters
- updateParents: boolean
update parents.
- updateChildren: boolean
update children.
- force: boolean
Whether or not force to updates the matrix.
Returns void
Inherited from Light.updateWorldMatrix
- updateParents: boolean
get Local Bounds
Get the whole bounding box of current object cover all children's.
Parameters
- localBox: Box3
If this is not undefined, result will be stored to it.
Returns Box3
Inherited from Light.getLocalBounds
- localBox: Box3
get UUID
destroy
class Name
get Intensity
Returns number
copy
clone
get Direction
Returns Vector3
update Uniform For Forward
Parameters
- program: WGLProgram
- index: number
Returns void
update Uniform For Defer
Parameters
- program: WGLProgram
Returns void
update Uniform By Prefix
Parameters
- program: WGLProgram
- lightPrefix: string
- shadowPrefix: string
Returns void
Staticget Header
- getHeader(
isArray: boolean,
):
| "\n uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n uniform sampler2D spotIES[ NUM_SPOT_LIGHTS ];\n "
| "\n uniform SpotLight spotLight;\n uniform sampler2D spotLightIES;\n "Parameters
- isArray: boolean
Returns
| "\n uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n uniform sampler2D spotIES[ NUM_SPOT_LIGHTS ];\n "
| "\n uniform SpotLight spotLight;\n uniform sampler2D spotLightIES;\n "
get IES Map Or Default
Returns Texture2D | T
update Cone
Returns void
is Drawable Outside Light Volume
Parameters
- drawable: Drawable
Returns boolean
deserialize
Parse the data for this class from string according to serializing format.
Parameters
- ctx: Deserializer
an instance give the method to take the data for attribute.
Returns void
Overrides Light.deserialize
- ctx: Deserializer
serialize
mark Business Tag
is Destroyed
Returns boolean
Inherited from Light.isDestroyed
validate
destroy All Resources Owned
Returns void
Inherited from Light.destroyAllResourcesOwned
free All Gpu Resource Owned
Returns void
Inherited from Light.freeAllGpuResourceOwned
This light gets emitted from a single point in one direction, along a cone that increases in size the further from the light it gets.