Taos API Reference
    Preparing search index...

    Class ReflectionProbe

    Reflection probe component. Renders the environment around the probe's world position into a cubemap, then convolves that cube into an irradiance

    • GGX-prefiltered IBL pair that the deferred lighting pass can sample as local image-based lighting.

    Reflection probes are a powerful and efficient way to capture local lighting variation across a scene, especially for large static features like the sky and clouds. They can also capture dynamic features (moving objects, time of day changes) but require more careful management of their update mode and bake timing to avoid excessive GPU cost.

    Probes operate in one of three capture modes (captureContent):

    • extentHalfSize defines an oriented bounding box (combined with the GameObject's world transform) that doubles as the capture volume (objects outside it are culled during 'scene' mode) and the influence volume (per-pixel blend weight in the lighting pass falls off as the shaded point approaches the box surface).
    • boxProjection enables parallax-correct reflections: the reflection ray is intersected with the probe box and the resulting hit point is used as the cube sample direction, so reflections "stick" to the box geometry instead of appearing infinitely far away.

    Capture / IBL resolution is configured at the ReflectionProbeFeature level so all probes share one cube-array texture set; the per-probe captureSize / prefilteredSize fields are declared here as a forward-compatibility surface but are not honored on a per-probe basis yet (the manager logs a warning when they disagree with its global size).

    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.

    captureContent: ReflectionProbeContent = 'sky-and-clouds'

    What this probe captures.

    updateMode: ReflectionProbeUpdateMode = 'once'

    When this probe re-bakes.

    extentHalfSize: Vec3 = ...

    Local-space half-extents of the probe's oriented bounding box. World extent is the box transformed by the GameObject's world matrix. Both capture culling (scene mode) and per-pixel influence falloff key off this box.

    boxProjection: boolean = true

    Parallax-correct the reflection ray against the probe box. On by default.

    influenceFalloff: number = 0.25

    Width of the influence falloff zone as a fraction of extentHalfSize. Points outside the box get zero weight; points at fraction 1 - fade from the box surface (toward the center) get full weight; the band in between blends linearly. Set to 0 for hard-edged influence.

    captureSize: number = 256

    Requested capture cube face size (px). Forward-compatibility; the feature currently uses its own global value. See class header.

    prefilteredSize: number = 128

    Requested prefiltered IBL face size (px). Same caveat as captureSize.

    irradianceSize: number = 32

    Requested irradiance IBL face size (px). Same caveat as captureSize.

    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.

    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