@twinfinity/core
    Preparing search index...

    Interface LineRendererOptions

    Construction-time tuning for LineRenderer. All fields optional — defaults match common usage (pixel widths, dash scale 1, no preallocation).

    interface LineRendererOptions {
        dashScale?: number;
        depthParticipation?: boolean;
        initialCapacity?: number;
        renderingGroupId?: number;
        widthIsWorld?: boolean;
    }
    Index

    Properties

    dashScale?: number

    Default global dash scale. See LineRenderer.setDashScale. Default 1.

    depthParticipation?: boolean

    When true, register a thin-instance-aware depth material with the scene's depth renderer (via mesh.twinfinity.line) so this renderer's lines participate in depth-based post-processes (LineShading, SSAO). Default false — the color pass alpha-blends without writing scene depth.

    Recommended on for 3D thin elements (pipes, rebar, powerlines, cables) that should feel grounded in the scene. Recommended off for 2D-style overlay drawings (DWG annotations) that should read as ink-on-top.

    The opt-in adds an extra draw of the line mesh during the depth pass (stripped fragment shader, SDF discard, no color/blending) — typically ~30-50 % the per-fragment cost of the color pass.

    initialCapacity?: number

    Pre-allocate the cached matrix and meta buffers for at least this many segments. Saves the first upload from paying the cache-growth cost. Defaults to 0 (lazy growth from the first upload).

    renderingGroupId?: number

    Babylon rendering-group id for the renderer's mesh. Higher groups draw on top of lower ones. Default 0. Use this to interleave line layers with non-line content (e.g. main lines at 1, highlight lines at 2, above shaded meshes at 0).

    widthIsWorld?: boolean

    Default width interpretation. false (default) = screen-space pixels, width stays constant as the camera zooms — readable CAD-style. true = world units, width attenuates with depth.