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

    Module rendering/picking/mesh/material-tsl

    TSL / NodeMaterial counterpart to MeshPickingMaterial.

    Mirrors the GLSL wrapper one-for-one โ€” same constructor signature, same setPickMode / setPickSide / updateOpacityUniform / updateAlphaCutoff surface, same MeshPickAwareMaterial contract, and the same half-consumed CameraAwareMaterial one (resolution/isOrtho ignored, the near-fade start taken).

    Uniform plumbing. This class owns one UniformNode per shader input. The public uniforms record exposes each node as an IUniform-shaped getter/setter proxy (proxyIUniform in tsl-helpers.ts), so mutations to material.uniforms.uX.value land directly on node.value โ€” no per-render .onUpdate callback bridge.

    No rebuild path. Every mode-dependent behaviour here is a runtime uniform (ยง6.5), so unlike the line/point pick wrappers there is no config-flip that rebuilds the graph: the factory runs exactly once, in the constructor. That is the whole reason the cutout and the depth convention are uniforms rather than build flags โ€” a layers-panel mode switch is a uniform write, not a recompile.

    MeshPickingTSLMaterial