Variable GLSL_PICK_VISIBILITYConst
GLSL_PICK_VISIBILITY: "\n// Pick visibility inputs, synced from the visual material per pick render.\nuniform mediump float uIntensity; // node gain\nuniform mediump float uOpacity; // node opacity\nuniform lowp float uHasElementAlpha; // 1 when colors carry a real alpha column\nuniform int uVolumetric; // 1 when the visual node blends 'volumetric'\n\n// The factor the visual pass scales an element by for its per-element alpha.\nfloat luxarPickAlphaFactor(float alpha) {\n return (uVolumetric == 1)\n ? mix(1.0, -log(1.0 - min(alpha, 0.998046875)), uHasElementAlpha)\n : alpha;\n}\n\n// alpha factor x node opacity x the visual discards' max(gain, 1).\nfloat luxarPickWeight(float alpha) {\n return luxarPickAlphaFactor(alpha) * uOpacity * max(uIntensity, 1.0);\n}\n" = ...
Shared GLSL visibility weight used by point, line and gsplat pick shaders.