SpotLightShadow class

This is used internally by SpotLights for calculating shadows.

//Create a WebGLRenderer and turn on shadows in the renderer
final renderer = WebGLRenderer();
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = PCFSoftShadowMap; // default PCFShadowMap

//Create a SpotLight and turn on shadows for the light
final light = SpotLight( 0xffffff );
light.castShadow = true; // default false
scene.add( light );

//Set up shadow properties for the light
light.shadow.mapSize.width = 512; // default
light.shadow.mapSize.height = 512; // default
light.shadow.camera.near = 0.5; // default
light.shadow.camera.far = 500; // default
light.shadow.focus = 1; // default

//Create a sphere that cast shadows (but does not receive them)
final sphereGeometry = SphereGeometry( 5, 32, 32 );
final sphereMaterial = MeshStandardMaterial( { MaterilaProperty.color: 0xff0000 } );
final sphere = Mesh( sphereGeometry, sphereMaterial );
sphere.castShadow = true; //default is false
sphere.receiveShadow = false; //default
scene.add( sphere );

//Create a plane that receives shadows (but does not cast them)
final planeGeometry = PlaneGeometry( 20, 20, 32, 32 );
final planeMaterial = MeshStandardMaterial( { MaterilaProperty.color: 0x00ff00 } );
final plane = Mesh( planeGeometry, planeMaterial );
plane.receiveShadow = true;
scene.add( plane );

//Create a helper for the shadow camera (optional)
final helper = CameraHelper( light.shadow.camera );
scene.add( helper );
Inheritance

Constructors

SpotLightShadow()
The constructor creates a PerspectiveCamera to manage the shadow's view of the world.

Properties

autoUpdate bool
getter/setter pairinherited
bias double
getter/setter pairinherited
blurSamples double
getter/setter pairinherited
camera Camera?
getter/setter pairinherited
focus double
getter/setter pairinherited
frameExtents → Vector2
finalinherited
frustum Frustum
finalinherited
hashCode int
The hash code for this object.
no setterinherited
lightPositionWorld → Vector3
finalinherited
lookTarget → Vector3
finalinherited
map RenderTarget?
getter/setter pairinherited
mapPass RenderTarget?
getter/setter pairinherited
mapSize ↔ Vector2
getter/setter pairinherited
matrix ↔ Matrix4
getter/setter pairinherited
needsUpdate bool
getter/setter pairinherited
normalBias double
getter/setter pairinherited
projScreenMatrix → Matrix4
finalinherited
radius double
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
viewportCount int
getter/setter pairinherited
viewports List<Vector4>
finalinherited

Methods

clone() LightShadow
Creates a new LightShadow with the same properties as this one.
inherited
copy(LightShadow source) SpotLightShadow
Copies value of all the properties from the source to this Light.
override
dispose() → void
Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer used in your app.
inherited
getFrameExtents() → Vector2
Used internally by the renderer to extend the shadow map to contain all viewports
inherited
getFrustum() Frustum
Gets the shadow cameras frustum. Used internally by the renderer to cull objects.
inherited
getViewport(int viewportIndex) → Vector4
inherited
getViewportCount() int
Used internally by the renderer to get the number of viewports that need to be rendered for this shadow.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
Serialize this LightShadow.
inherited
toString() String
A string representation of this object.
inherited
updateMatrices(Light light, {int viewportIndex = 0}) → void
Update the matrices for the camera and shadow, used internally by the renderer.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited