PointLight - Verge3D User Manual - Soft8Soft
Description: Learn how to use PointLight in your interactive 3D apps made with Verge3D

Object3D → Light →

# PointLight

A light that gets emitted from a single point in all directions. A common use case for this is to replicate the light emitted from a bare lightbulb.

This light can cast shadows — see PointLightShadow page for details.

## Code Example

`const light = new v3d.PointLight(0xff0000, 1, 100); light.position.set(50, 50, 50); app.scene.add(light);`

## Constructor

### PointLight(color : Integer, intensity : Float, distance : Float, decay : Float)

- color — (optional) hexadecimal color of the light. Default is `0xffffff` (white).
- intensity — (optional) numeric value of the light's strength/intensity. Default is `1`.
- distance — maximum range of the light. Default is `0` (no limit).
- decay — the amount the light dims along the distance of the light. Default is `2`.

Creates a new PointLight.

## Properties

See the base Light class for inherited properties.

### # .castShadow : Boolean

If set to `true` light will cast dynamic shadows. This might require tweaking to get shadows looking right. See the PointLightShadow for details. The default is `false`.

### # .decay : Float

The amount the light dims along the distance of the light. Default is `2`. In context of physically-correct rendering the default value should not be changed.

### # .distance : Float

When distance is zero, light will attenuate according to inverse-square law to infinite distance. When distance is non-zero, light will attenuate according to inverse-square law until near the distance cutoff, where it will then attenuate quickly and smoothly to `0`. Inherently, cutoffs are not physically correct.

Default is `0.0`.

### # .intensity : Float

The light's intensity. Default is `1`. Intensity is the luminous intensity of the light measured in candela (cd).

Changing the intensity will also change the light's power.

### # .isPointLight : Boolean

Read-only flag to check if a given object is of type PointLight.

### # .power : Float

The light's power. Power is the luminous flux of the light measured in lumens (lm).

Changing the power will also change the light's intensity.

### # .shadow : PointLightShadow

A PointLightShadow used to calculate shadows for this light.

The light shadow's camera is set to a PerspectiveCamera with fov of 90, aspect of 1, near clipping plane at 0.5 and far clipping plane at 500.

## Methods

See the base Light class for inherited methods.

### # .dispose()

Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer used in your app.

### # .copy(source : PointLight) → this

Copies value of all the properties from the source to this PointLight.

## Puzzles

The following puzzles work with the point lights:

- create object — select light, then point.
- set light param — to set various light parameters.
- get light param — to obtain light parameters.

## Source

For more info on how to obtain the source code of this module see this page.