verve.gl — decals

A procedural UV sphere rendered with the PBR shader (variant_pbr) and a crosshair/ring decal (variant_decal, wire tag 44) projected via gl.decal.projectDecal. The decal conforms to the sphere curvature — its basis forward vector equals the sphere normal at the placement point. Move/grow/shrink re-project on demand (dirty flag). Depth bias is applied by the bridge so the coplanar overlay wins the z-test without z-fighting. Both backends: WebGPU (WGSL) and WebGL2 (GLSL).

UV sphere + projected decal — decal primitive