Hint for shader RGB output composition. Only 'rgb-contribution'
is machine-consumed: the Point and Line applyBlendingMode
wrappers toggle the LUXAR_MAX_RGB_CONTRIBUTION define off it so
max mode premultiplies RGB by intensity·opacity (required
because MaxEquation + OneFactor compares contributions, not flat
colour). The other three values document the fragment-output
contract for readers but are consumed by no wrapper:
'alpha-weighted' (additive/luminous/normal — RGB unweighted,
alpha = intensity·opacity), 'opaque' (the same alpha-carrying
Point/Line output, with a contribution cutout before depth write;
Mesh emits its own cutout alpha), and 'premultiplied-alpha'
(gsplat normal — RGB carries the full premultiplied contribution,
alpha a clamped coverage term for OneMinusSrcAlpha destination
attenuation; the gsplat wrappers key that branch off
isNormalMode, not off this field).
Hint for shader RGB output composition. Only
'rgb-contribution'is machine-consumed: the Point and LineapplyBlendingModewrappers toggle theLUXAR_MAX_RGB_CONTRIBUTIONdefine off it somaxmode premultiplies RGB by intensity·opacity (required because MaxEquation + OneFactor compares contributions, not flat colour). The other three values document the fragment-output contract for readers but are consumed by no wrapper:'alpha-weighted'(additive/luminous/normal — RGB unweighted, alpha = intensity·opacity),'opaque'(the same alpha-carrying Point/Line output, with a contribution cutout before depth write; Mesh emits its own cutout alpha), and'premultiplied-alpha'(gsplatnormal— RGB carries the full premultiplied contribution, alpha a clamped coverage term forOneMinusSrcAlphadestination attenuation; the gsplat wrappers key that branch offisNormalMode, not off this field).