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

    Module rendering/materials/mesh-physical/material-glsl

    PhysicalMeshMaterial — the WebGL wrapper around three's MeshPhysicalMaterial.

    Deliberately THIN. The house mesh material is a ShaderMaterial Luxar writes and pins with codegen snapshots; this one is three's, and three's to pin. What the wrapper adds is exactly the surface the rest of the viewer already assumes of a leaf material — updateOpacity / updateIntensity / updateOffset / updateGamma (the LuxarMaterial contract the Layers panel, exposure and the LOD cross-fade gate on) and an applyBlendingMode that is a documented no-op — each implemented ONCE in ./config.ts and shared with the WebGPU twin.

    What it deliberately lacks, and why (spec MESH_PHYSICAL_MATERIALS_SPEC.md §3.2):

    • no updateCameraParams: the near fade is a house-shader feature, so this material is filed as static by MaterialManager.register and takes no camera broadcast;
    • no updateBaseColorTexture / updateColormapTexture: textures and colormaps are house-shader features and are refused at authoring for a physical mesh;
    • no userData.blendingMode unless opaque — see derivePhysicalCompositing.
    PhysicalMeshMaterial