THREE.JS / FOUNDATIONS 237

Cut holes without sorting.

Alpha hash turns partial coverage into a stable opaque-like discard pattern, keeping cutout surfaces out of the transparent sorting queue while preserving an adjustable coverage ratio.

Initializing alpha hash—

Preparing overlapping cutout cards, an occluded subject, and a coverage texture…

backend
—
mode
—
cards
—
opacity
—
frame ms
—
sample
—
Coverage controlswaiting

The material will compile after the renderer selects its backend.

Coverage contractclip + depth
alpha hashstochastic discard

opaque queue · depth write

alpha testfixed discard

cutoff = 0.50

blendsource-over

sorted · no depth write

coverageMSAA edge smoothing

available on alpha test

noisetemporal solution

SSAA level 2

fallbackWebGL2 reference

same material modes

Three intersecting cutout cards overlap a rotating subject. Switch modes, then lower SSAA to expose why alpha hash trades grain for draw-order independence.

WebGPU uses the NodeMaterial path and optional SSAA. The forced WebGL2 route keeps the same mode comparison with renderer MSAA.

Derived from the official WebGPU alpha-hash example, WebGL alpha-hash example, and the Material alphaHash, alphaTest, alphaToCoverage, depthWrite, and transparent contracts. Use ?forceWebGL=1 to inspect the labeled WebGL2 reference.

LAB 237 / ALPHA-HASH TRANSPARENCY