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

    Module rendering/picking/mesh/material

    Mesh Picking Material (GLSL backend) for GPU object picking.

    Renders the mesh to an RGBA32F pick buffer encoding: R = nodeId, G = elementId (the VERTEX ordinal) low 16 bits, B = brightness (the coverage), A = the same ordinal's high 16 bits

    Shader source-of-truth lives in ./shaders.ts.

    Two deliberate divergences from the sibling pick wrappers, both following the visual mesh material rather than the pick convention:

    1. A CameraAwareMaterial for only half the usual reason. A mesh has no screen-space footprint to size, so resolution and isOrtho are ignored (the near fade's ortho test reads three's isOrthographic); what it does consume is uNearCull, because the pick pass has to reproduce the visual near fade or a fading surface would stay fully pickable (#1431). Registering it therefore routes it into the camera broadcast, exactly as the visual mesh material.
    2. side is synced from the visual material, not pinned to DoubleSide. The other three pick materials can hardcode DoubleSide because their quads are view-facing; a mesh's back faces may be culled on screen, and a pick material that rasterizes them anyway makes an invisible interior face both pickable and depth-occluding. See MeshPickingMaterial.setPickSide.
    MeshPickingMaterial
    MeshPickingMaterialConfig