We further describe and analyze the idea of hashed alpha testing from Wyman and McGuire, which builds on stochastic alpha testing and simplifies stochastic transparency. Typically, alpha testing provides a simple mechanism to mask out complex silhouettes using simple proxy geometry with applied alpha textures. While widely used, alpha testing has a long-standing problem: geometry can disappear entirely as alpha mapped polygons recede with distance. As foveated rendering for virtual reality spreads, this problem worsens as peripheral minification and prefiltering introduce this problem on nearby objects.
We first introduce the notion of stochastic alpha testing, which replaces a fixed alpha threshold with a randomly chosen threshold in [0..1). This entirely avoids the problem of disappearing alpha-tested geometry, but introduces temporal noise.
Hashed alpha testing uses a hash function to choose the threshold procedurally, per-pixel. With a good hash function and inputs, hashed alpha testing maintains distant geometry without introducing more temporal flicker than traditional alpha testing. We also describe how hashed alpha interacts with temporal antialiasing and applies to alpha-to-coverage and screen-door transparency. Because hashed alpha testing addresses alpha test aliasing by introducing stable sampling, it has implications in other domains where increased sample stability is desirable. We show how our hashed sampling might apply to other stochastic effects.