Optional ReadonlyuseOptional ReadonlygammaOptional ReadonlynoFast path: skip the vColor * uIntensity + uOffset GOG chain
(and its max(..., vec3(0)) clamp) when the wrapper knows
intensity == 1 && offset == 0 — the default and most common
configuration. Mirrors the GLSL3 LUXAR_NO_GOG define and the
line/point factories' noGOG flag (three-geometry symmetry).
The gain-aware visibility discard keeps reading uIntensity —
under noGOG uIntensity == 1, so max(uIntensity, 1.0) is 1.0
and behavior is identical.
Optional ReadonlyblendingLuxar blending mode. GSplats premultiply intensity into RGB in
every mode; normal ADDITIONALLY emits a clamped coverage alpha
(premultiplied alpha-over — mirrors the GLSL
LUXAR_NORMAL_PREMULT define) and volumetric emits the
emission–absorption pair vec4(finalColor·S(τ), 1 − e^(−τ))
(mirrors LUXAR_VOLUMETRIC) — both pair with the One /
OneMinusSrcAlpha state. All other modes keep the alpha = 1.0
output contract. The factory derives both the fragment-output
style and the THREE blending state from this one field. Defaults
to 'additive' to match the GLSL wrapper class.
Optional ReadonlyelementThe splat texture's width, baked into the vertex addressing as a literal
(see the prologue). Defaults to the width resolved from
nodes.uSplatTex.value; a wrapper building a SHARED graph passes it
explicitly so it is part of the graph's configuration key rather than
read off whichever texture a forwarding leaf holds at build time.
When
true(gamma == 1.0), the per-fragment / pre-LUT gammapow()is skipped —pow(x, 1) == x. Mirrors the GLSL3LUXAR_GAMMA_ONEdefine. The material wrapper sets this from the presence of that define and toggles it onupdateGamma.