// base WGSL has `let A = -dot(in.vPos, in.vPos);` and `in.vColor.a = splat.color.a * material.alpha` if (A < -in.vColor.a) { discard; } // ↔ if dot(vPos,vPos) > vColor.a finalColor = vec4(linearDepth, linearDepth, linearDepth, 1.0);
Per-splat α is used as a squared-radius threshold in the splat-local 2D
quad coordinate (vPos ∈ [-1,1]²), so each splat clips to a disc of
radius √α inside its quad. No gaussian falloff in the depth pass —
surviving fragments all write opacity = 1.0 (the EWA core is not
used here; that's the gsAlphaBlendedDepthFragment regime).
Force-depth-write variant (BJS
forceDepthWriteTransparentMeshes = true). Matches BJS'sgaussianSplattingDepth.fragment.fxdefault (noALPHA_BLENDED_DEPTH) branch exactly:Per-splat α is used as a squared-radius threshold in the splat-local 2D quad coordinate (
vPos ∈ [-1,1]²), so each splat clips to a disc of radius √α inside its quad. No gaussian falloff in the depth pass — surviving fragments all writeopacity = 1.0(the EWA core is not used here; that's thegsAlphaBlendedDepthFragmentregime).