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

    Hierarchy

    • NodeMaterial
      • PointPickingTSLMaterial

    Implements

    Index
    uniforms: Record<string, THREE.IUniform>
    tslNodes: {
        uPointTex: any;
        maxPointSize: any;
        radiusScale: any;
        uNearCull: any;
        uPixelRatio: any;
        uNodeId: any;
        uResolution: any;
        uSortedIndexSlot: any;
        uDensityDrop: any;
        uIntensity: any;
        uOpacity: any;
        uHasElementAlpha: any;
        uVolumetric: any;
        uSurfaceDepth: any;
    }
    • Point this material at the SHARED graph of its configuration (../_shared/shared-pick-graph-tsl.ts): one node build per configuration, keyed on the baked element-texture width, instead of one per material.

      Returns void

    • Rebind the point data texture. Same node-identity lifecycle as the visual TSL wrapper: fresh texture node + factory re-run on an identity change, no-op otherwise. Mirrors GSplatPickingTSLMaterial.updateSplatTexture.

      Parameters

      • tex: DataTexture | null

      Returns void

    • Clone this picking material. Mirrors the GLSL wrapper's explicit clone (the inherited Material.clone() calls the constructor with no config and would throw; NodeMaterial.copy would alias the source's node graph instead of this instance's own uniform nodes).

      Returns this

    • Select the pick depth convention (SurfacePickAwareMaterial): true under the depth-ordered surface modes (opaque / normal) writes the real projected depth so the FRONT-MOST element wins, as the user sees it; false (default) keeps brightness-as-depth so the BRIGHTEST wins, right for the commutative modes. Synced per pick render by PickingSystem.renderPickBuffer().

      Parameters

      • on: boolean

      Returns void

    • Update camera-dependent uniforms (viewport, near cull, pixel ratio).

      Push again after a resize, a near-cull change or a pixel-ratio change. The projection itself — FOV, ortho zoom, off-axis frustum AND the ortho/perspective kind — is read in shader from the projection matrix of the draw (luxarIsOrthoProjection() / isOrthoProjectionTSL()), so a camera-kind flip or a draw through another camera needs no push.

      Parameters

      • resolution: Vector2

        Viewport resolution in pixels

      • OptionalnearCull: number

        Near-fade start distance in world units (consumed by all four geometry materials via the shared perspectiveNearFade)

      • pixelRatio: number = 1

        Physical render-target pixels per CSS pixel; screen-space appearance constants scale with it above 1×

      Returns void