TEMPORAL DITHER LAB
1-bit sphere.
Dither × temporal samples. Independent history modes, square pixels and shared motion.
Starting renderer…Sphere: 16 latitude divisions. Cube: 8 × 8 black/white checks per face.
Box 1 : 1 : 1 · camera one box width from the opening · opening fills the near plane · bounce in X, Y and Z.
Click or press Enter on a variant to select it and enable highlighting. Hover temporarily changes the reference.
About hysteresis and phase search
Source raster: 96 × 96. Hidden poses and history are averaged before 1-bit quantization.
Hysteresis affects only “Threshold + hysteresis” and “Bayer 8 + hysteresis”: retain the previous bit within the threshold band. A small band reduces threshold chatter; large bands can lag or stick. No motion reprojection.
“Bayer 8 + phase search” tests five nearby exposure times and minimizes changes to its previous output. The window is centered on each new frame, never accumulated. The error limit is relative to the unshifted Bayer output, against the common current-instant reference; it uses unfiltered pixel RMSE. This is a greedy experiment, not motion compensation. With history enabled, only the newest exposure shifts; earlier exposures stay shared with the other methods.
The preset uses method order to show fixed blue noise and hysteresis together at 4×, 8× and 16× temporal samples, using 2 × 2 spatial samples and a small ±0.04 band. It avoids adding multi-frame history.
| Method | Time | Pixel flips | Low-change flips | HF error | Tone RMSE | Phase now | Frames |
|---|
Pixel flips: changed output pixels per frame, over the foreground union. Includes necessary motion.
Low-change flips: switches where the common reference tone and coverage each changed by at most 0.02. A diagnostic for extra chatter, not a motion-compensated measure.
HF error: RMS of [e(t) − 2e(t−1) + e(t−2)] / 4, with e = output − common reference. Emphasizes rapid alternation; a high-pass proxy, not an FFT band measurement.
Tone RMSE: error after a 3 × 3 spatial average, against the same current-instant reference. Check this alongside HF: freezing or blurring can lower flips while losing accuracy.
Errors are percentages of the full black–white range. The common 4 × 4 reference reduces source aliasing but is finite and screen-space. Compare the same scene, output rate and settled 60-frame window; blank entries are warming up. Moving the option window resets measurements. Inactive histories warm up when needed again. Metrics stay active for visible tiles, the pinned baseline and the open Measure panel.
Method references: diffusion kernels · void-and-cluster blue noise · spatial versus temporal noise. This demo uses a fixed spatial mask, not animated spatiotemporal blue noise.
Difference overlay off · select a variant to compare.
The uniform sample-count axis doubles from 1× to 64×. Hidden mesh poses within one output interval are averaged before dithering. The separate history mode averages the last 3 or N exposures at each column’s sample count. No motion compensation: exposure and history can blur or trail motion. Differences compare final pixels at the same simulation time, including silhouette changes.
The sphere has 16 latitude bands and 16 mesh latitude subdivisions; the cube has 8 × 8 checks per face. The object bounces in X, Y and depth inside a box of equal width, height and depth. The camera is one box width in front of the opening, which fills the near plane. The L* 50 grey background is separate from the black/white object pixels. Pixel scale is 1–32 physical screen pixels per raster pixel, accounting for display density. Changing scale preserves the source raster and frame history.