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

    GSplat material uniforms interface

    — reserved extension shape; no current consumer.

    interface GSplatMaterialUniforms {
        uResolution: { value: Vector2 };
        uTruncate: { value: number };
        uOpacity: { value: number };
        uAbsorption: { value: number };
        uHasElementAlpha: { value: number };
        uProjectionMode: { value: number };
        uInvGamma: { value: number };
        uNearCull: { value: number };
        uMaxExtentFactor: { value: number };
        uCov2DDilation: { value: number };
        uShiftC: { value: number };
        uInvOneMinusC: { value: number };
        uTruncateSq: { value: number };
        uRayIntegralFactor: { value: number };
    }
    Index
    uResolution: { value: Vector2 }

    Viewport resolution [width, height]

    uTruncate: { value: number }

    Truncation radius in sigmas

    uOpacity: { value: number }

    Opacity multiplier

    uAbsorption: { value: number }

    Absorption coefficient κ (volumetric mode: τ = κ·opacity·rayMass)

    uHasElementAlpha: { value: number }

    1 when colors are RGBA (per-splat opacity present), else 0

    uProjectionMode: { value: number }

    Projection mode: 0=sum ray-integral (additive/luminous/volumetric), 1=peak 2D-projected (surface modes max/normal/opaque)

    uInvGamma: { value: number }

    Pre-computed 1/gamma for performance

    uNearCull: { value: number }

    Near cull distance in world units (scene-scale-aware, perspective only)

    uMaxExtentFactor: { value: number }

    Max projected splat extent as fraction of viewport before fade-out

    uCov2DDilation: { value: number }

    2D-covariance low-pass dilation in px² added to the Σ_2D diagonal

    uShiftC: { value: number }

    Shifted Gaussian: exp(-0.5 * truncate²) — boundary value

    uInvOneMinusC: { value: number }

    Shifted Gaussian: 1/(1 - shiftC) — peak-preserving rescale

    uTruncateSq: { value: number }

    Shifted Gaussian: truncate² — replaces hardcoded 9.0 in fragment shader

    uRayIntegralFactor: { value: number }

    Ray integration factor for sum projection (shifted Gaussian integral)