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

    A material that can re-point itself at the graph of a projection kind.

    Hierarchy

    • NodeMaterial
      • LinePickingTSLMaterial

    Implements

    Index
    uniforms: Record<string, THREE.IUniform>
    _orthoVariant: boolean = false

    The projection kind of the camera last drawn with (quad variant only).

    tslNodes: {
        uLineTex: any;
        uResolution: any;
        uPixelRatio: any;
        uNearCull: any;
        uMaxLinePixelWidth: any;
        uNodeId: any;
        uSortedIndexSlot: any;
        uDensityDrop: any;
        uIntensity: any;
        uOpacity: any;
        uHasElementAlpha: any;
        uVolumetric: any;
        uSurfaceDepth: any;
    }
    • Select the screen-space quad's projection variant for the camera this pick draw uses — the visual twin's rule (LineTSLMaterial.selectProjectionVariant): a re-point at the other kind's cached shared graph, only on a kind change, never driven by a CPU push. The capsule ignores it.

      Parameters

      • camera: Camera

      Returns void

    • (Re)build the pick graph, dispatching on the line primitive (#1352). Every build site — constructor, texture rebind — funnels through here so the two factories can never drift.

      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

    • Camera-dependent uniforms. The ortho branch is read in the graph from the projection matrix of the draw (isOrthoProjectionTSL(), the GLSL twin's luxarLineIsOrtho), so none is pushed.

      Parameters

      • resolution: Vector2
      • OptionalnearCull: number
      • pixelRatio: number = 1

      Returns void

    • Rebind the line data texture. TSL texture() captures the THREE.Texture at factory time, so an identity change needs a fresh node + graph rebuild. Mirrors PointPickingTSLMaterial. updatePointTexture. No-op when unchanged (the common per-commit case).

      Parameters

      • tex: DataTexture | null

      Returns void