Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Configuration for gsplat material creation

    interface GSplatMaterialConfig {
        opacity?: number;
        absorption?: number;
        hasElementAlpha?: boolean;
        gamma?: number;
        intensity?: number;
        offset?: number;
        truncationRadius?: number;
        blendingMode?: BlendingModeName;
        transparent?: boolean;
        depthTest?: boolean;
        colormapTexture?: DataTexture;
        scalarRange?: [number, number];
        maxExtentFactor?: number;
        cov2DDilation?: number;
    }
    Index
    opacity?: number

    Opacity multiplier (0.0 to 1.0)

    absorption?: number

    Absorption coefficient κ (>= 0, default 1.0) — read only by the volumetric blending mode's fragment branch (τ = κ·opacity·rayMass); inert in every other mode. κ = 0 renders exactly like additive.

    hasElementAlpha?: boolean

    True when the dataset's colors carry a per-splat alpha channel (RGBA). Gates the volumetric branch's alpha → optical-depth mapping (w = −ln(1−a)); the linear per-mode alpha factor needs no gate (RGB data carries the identity alpha 1.0 in the splat texture).

    gamma?: number

    Gamma correction (0.1 to 10.0, default 1.0)

    intensity?: number

    Intensity (linear color multiplier / gain), default 1.0

    offset?: number

    Offset (additive brightness shift / black level), default 0.0

    truncationRadius?: number

    Truncation radius in sigmas (defaults to GSPLAT_DEFAULT_TRUNCATION_RADIUS)

    blendingMode?: BlendingModeName

    Blending mode

    transparent?: boolean

    Explicit override, applied AFTER applyBlendingMode's mode-derived value (true for every mode except opaque). Production callers never pass it; clone() passes the parent's current (already mode-derived) value, so the round-trip is a no-op — but the constructor DOES consume it, so a caller-supplied value wins over the mode derivation.

    depthTest?: boolean

    Whether to test against depth buffer (default true; additive sets false)

    colormapTexture?: DataTexture

    Colormap texture for scalar-to-color mapping (256x1 RGB)

    scalarRange?: [number, number]

    Scalar data range [min, max] for normalization before LUT lookup

    maxExtentFactor?: number

    Max projected splat extent as a fraction of viewport size before fade-out (default 0.33)

    cov2DDilation?: number

    2D-covariance low-pass dilation in pixels² added to the Σ_2D diagonal (standard 3DGS anti-aliasing; default 0.3). Guarantees every splat covers ≥ ~1px so near-degenerate (edge-on flat) splats — common in imported classical 3DGS fits — render as soft ellipses instead of razor-thin spikes.