Build and configure from Luxar attrs (see PhysicalMeshMaterialConfig).
Pin the transmitted alpha to 1 (see TRANSMISSION_ALPHA_MIX_LINE in ./config.ts).
A prototype method rather than an instance property so clone() — which the WebGL
blend warm-up uses for its keeper materials — carries it too.
A fixed key: three's default is onBeforeCompile.toString(), which would re-key per build.
Luxar opacity; re-derives translucency, depth write and the cutout.
Current node opacity (the LOD cross-fade snapshots this as its fade base).
Luxar intensity — a gain on the vertex colour.
Luxar offset — emitted radiance; negative clamps to 0.
Luxar gamma — recorded only; a physical material has no gamma term.
Switch between stored normals and derivative normals for the active display frame.
One live physical knob from the Layers panel (clamped; rebuilds on a zero crossing).
Luxar refract_data, live: glass draws after (true) or before (false) the data.
Deliberate no-op. A physical mesh has no Luxar blending mode (the attr is refused
at authoring, and an inherited one is ignored with a notice at node creation);
translucency is read off the data by derivePhysicalCompositing. The method
exists so the Layers panel's generic fallback — which would write the HOUSE
shader's blend state for the mesh default opaque over this material on a
reset — is never reached.
Three's
MeshPhysicalMaterialbehind the Luxar leaf-material surface (WebGL).Constructed by
MaterialManager.getMeshPhysicalMaterial; configured entirely byapplyPhysicalMeshConfig, which the WebGPU twin shares.