Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...
    TRANSMISSION_ALPHA_MIX_LINE: "material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );" = 'material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );'

    The one line of three's transmission_fragment chunk that copies the alpha of the SAMPLED framebuffer into the glass fragment's alpha (opaque_fragment then multiplies diffuseColor.a by it). Three means it as coverage, for transparent canvases where a glass over an empty background should itself be see-through.

    Luxar's HDR framebuffer alpha is not coverage. The additive, luminous and normal point and line shaders are alpha-weighted (RGB unweighted, alpha = intensity·opacity, blended SrcAlpha/One with One/One on the alpha channel), so behind a point cloud the alpha is an overdraw count — 8 to 18 was measured, Infinity on dense scenes. The house already treats it as undefined: the mega shader reads RGB only, and the EXR capture forces alpha to 1 before export. A glass that reads it composites with an UNCLAMPED blend factor on the half-float target and comes out thousands of times too bright, or negative (measured on both backends). So the physical family refuses that channel too: the line below is replaced by TRANSMISSION_ALPHA_PIN_LINE.

    A pixel no-op for the glass-first path, whose transmission target only ever holds the alpha-1 clear and opaque meshes. It changes what an opaque-mode house layer (alpha = intensity·opacity) or a cutout mesh looks like THROUGH glass — they follow the house rule now — and it is what makes refract_data glass composite correctly.