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

    Module rendering/materials/point/material-tsl

    TSL / NodeMaterial counterpart to PointMaterial.

    Mirrors the GLSL PointMaterial wrapper class one-for-one — same constructor signature (PointMaterialConfig), same update methods (updateOpacity, updateGamma, …), same applyBlendingMode + clone semantics, same CameraAwareMaterial / ColormapAwareMaterial interfaces. The host code in MaterialManager.getPointMaterial picks one or the other based on caps.apiSurface, so callers (NodeFactory, LayersPanel, etc.) never see the divergence.

    Uniform plumbing. This class owns one persistent UniformNode per shader input via the tslNodes table. The public uniforms record exposes each node as an IUniform-shaped getter/setter proxy (see proxyIUniform in tsl-helpers.ts), so mutations to material.uniforms.X.value land directly on node.value — no per-render .onUpdate('render') callback bridge. Matches the pattern already in use by LineTSLMaterial, GSplatTSLMaterial, and PointPickingTSLMaterial.

    defines carries the same USE_COLORMAP shader flag the GLSL wrapper toggles. Flipping it on the TSL side requires a graph rebuild (the colormap branch in the factory uses a JS-side if), which is what updateColormapTexture triggers via rebuildGraph() whenever the on/off state changes.

    PointTSLMaterial