Voxel LOD: mip levels, not dithering

The tile editor paints layered 16³ voxel tiles. Rendering them at distance needs level-of-detail, and the obvious-looking approach was wrong.

The wrong turn

The first attempt aggregated voxels stochastically - dither the far tiles down to fewer samples. It read as noise, not distance. Detail didn’t recede, it sparkled.

The fix

Distance LOD is downsampled mip levels - proper averaged reductions of the tile, one per distance band:

LOD0  16³   full detail
LOD1   8³   2× reduction
LOD2   4³   4× reduction

Each band is a clean average of the level below it. No dithering, no per-frame randomness. Detail falls off smoothly the way the eye expects.

Rule of thumb: when “reduce detail” turns into visible noise, you’re sampling when you should be averaging.