Dither Demo

A 3D scene rendered with a 1-bit Bayer dithering shader, inspired by the Playdate's aesthetic and games like Monument Valley.

How It Works

This demo uses Three.js with a custom GLSL shader that applies ordered dithering to create a 1-bit pattern effect:

  1. Bayer Matrix: A 4x4 threshold pattern determines which pixels render as black or white
  2. Diffuse Lighting: Standard directional lighting calculates brightness values
  3. Thresholding: Each pixel's brightness is compared against the Bayer threshold at its screen position
  4. Binary Output: Pixels above the threshold render white, below render black