Taos API Reference
    Preparing search index...

    Interface ForwardPlusPresetOptions

    interface ForwardPlusPresetOptions {
        pointLights: () => readonly PointLight[];
        sky?: SkyOption;
        shadow?: false | ShadowFeatureOptions;
        cull?: ForwardPlusCullMode;
        ibl?: IblTextures;
        lighting?: { useSphericalHarmonics?: boolean };
        shadowFilter?: "pcss" | "vsm";
        shadowVsmPrecision?: "auto" | "fp32" | "fp16";
        directional?: () => DirectionalLight;
        taa?: boolean;
        aa?: false | "taa" | "smaa";
        smaa?: SMAAOptions;
        motionBlur?: boolean | MotionBlurFeatureOptions;
        dof?: boolean | DofFeatureOptions;
        bloom?: boolean | BloomFeatureOptions;
        exposure?: number;
        aces?: boolean;
        hdrCanvas?: boolean;
    }
    Index

    Properties

    pointLights: () => readonly PointLight[]

    Live point-light list. Read each frame by the tiled cull, so the callback should return the current set (mutating positions/colors on the returned objects is fine — the buffer is re-uploaded every frame).

    sky?: SkyOption

    Sky source — see SkyOption for the union. Default: no sky.

    shadow?: false | ShadowFeatureOptions

    Cascaded directional shadow map. false skips the feature; a config object is forwarded to ShadowFeature. Default: enabled.

    Light-culling strategy — 'clustered' (default; 3D froxel grid with projection-only bounds, no depth pre-pass, correct on transparents) or 'tiled' (16×16 screen tiles + depth pre-pass). See ForwardPlusPass.cullMode.

    ibl?: IblTextures

    IBL texture set passed to the forward+ pass for indirect lighting.

    lighting?: { useSphericalHarmonics?: boolean }

    Forward+ lighting tuning. useSphericalHarmonics selects the IBL_DIFFUSE_SH variant (diffuse IBL from order-3 SH coefficients instead of the irradiance cube); it's a pipeline-build-time choice, so set it here.

    shadowFilter?: "pcss" | "vsm"

    Directional shadow filtering — 'pcss' (default) or 'vsm' (EVSM2). A pipeline-build-time choice, so set it here.

    shadowVsmPrecision?: "auto" | "fp32" | "fp16"

    EVSM2 moment precision when shadowFilter:'vsm''auto' (default), 'fp32' (best quality), or 'fp16' (half memory, ≈ plain VSM).

    directional?: () => DirectionalLight

    Override the directional light supplied to the forward+ pass; otherwise the scene's first DirectionalLight component is used.

    taa?: boolean

    Temporal anti-aliasing. Default: false. Ignored when aa is set.

    aa?: false | "taa" | "smaa"

    Anti-aliasing method, a superset of taa that also selects SMAA:

    • 'taa' — temporal AA (TAAFeature).
    • 'smaa' — spatial SMAA 1x (SMAAFeature); no jitter/history/ghosting.
    • false — no anti-aliasing. When omitted, falls back to taa (default off).

    Tuning forwarded to SMAAFeature when aa: 'smaa'.

    motionBlur?: boolean | MotionBlurFeatureOptions

    Motion blur. Camera-only by default; pass { useVelocityBuffer: true } to add per-object motion blur via an extra velocity-buffer pass. Slotted after TAA and before DoF / bloom. Default: disabled.

    dof?: boolean | DofFeatureOptions
    bloom?: boolean | BloomFeatureOptions
    exposure?: number
    aces?: boolean
    hdrCanvas?: boolean