Taos API Reference
    Preparing search index...

    Class PointLight

    Omnidirectional point light component.

    Supplies position/color/intensity/radius to the deferred lighting pass, and (when PointLight.castShadow is enabled) cube-face view-projection matrices to the point-light shadow pass that renders into a cube shadow map.

    Placed by its GameObject's transform; see worldPosition. Construct with no arguments and set fields, or pass PointLightOptions.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    id: string = ...

    Stable identity for this component, unique within a session. Auto-generated for runtime-created components; the editor overwrites it with a persistent id when projecting a saved document so references survive save / load / undo.

    gameObject: GameObject

    The owning GameObject; assigned by addComponent before onAttach runs.

    color: Vec3 = ...

    Linear RGB color multiplier.

    intensity: number = 1.0

    Luminous intensity in candela (cd) under the physical-units convention — i.e. illuminance at 1 world-unit (≈ 1 m). Author bulbs in lumens via lumens.

    radius: number = 10.0

    Attenuation radius in world units; light contributes nothing past this distance.

    castShadow: boolean = false

    Whether this light renders shadow maps.

    iesProfileIndex: number = -1

    Index into the lighting pass's IES profile LUT (set via PointSpotLightPass.setIesProfiles); -1 = no photometric profile. For a point light the profile's vertical angle is measured from straight down (the luminaire nadir), so it acts like a downlight distribution.

    Accessors

    • get time(): Time

      The simulation clock of the scene this component belongs to. Read inside update (or any time after the GameObject is added to a scene) for absolute time, frame count, FPS, and timeScale-aware delta — e.g. this.time.elapsed, this.time.delta, this.time.frameCount.

      this.time.delta equals the dt argument passed to update, so components can ignore that argument entirely and pull everything from here.

      Returns Time

      if the owning GameObject is not currently part of a scene.

    • get lumens(): number

      Total luminous flux in lumens (a bulb's rating). A convenience view over intensity for an isotropic point source: cd = lm / 4π. Setting it writes intensity; reading it converts back — so pl.lumens = 800 is just pl.intensity = lumensToCandela(800).

      Returns number

    • set lumens(lm: number): void

      Parameters

      • lm: number

      Returns void

    Methods

    • Called once when the component is added to a GameObject. Override to acquire references to siblings/children or initialize resources.

      Returns void

    • Called once when the component is removed from its GameObject. Override to release resources or unsubscribe from events.

      Returns void

    • Called every frame by the GameObject's update traversal.

      Parameters

      • _dt: number

        Frame delta time in seconds.

      Returns void

    • Called every frame by the GameObject's render traversal, after update and any input/controller mutations to the transform. Override to refresh per-frame state that render passes consume (e.g. Camera recomputes its cached view/projection matrices here).

      Parameters

      • _ctx: RenderContext

        Active render context (provides canvas width/height etc.).

      Returns void

    • Builds the six view-projection matrices used to render this light's cube shadow map.

      Parameters

      • near: number = 0.05

        Near plane for each cube-face perspective frustum.

      Returns Mat4[]

      6 matrices in face order: +X, -X, +Y, -Y, +Z, -Z.