Experiments in light,
space and play.

3D, shaders, games and interactive pieces by Nir Peretz. Each one is its own little world.

3d2026

Particle Field

150k particles moved by curl noise in a vertex shader. Modern three.js, Vite and TypeScript.

  • three.js r186
  • glsl
  • vite
shader2026

Shader Garden

Four fragment shaders on one fullscreen triangle. Raw WebGL2, no build step, no libraries.

  • webgl2
  • glsl
  • no build
app2026

Palette Router

A tiny single-page app with real URLs (/p/ff5e3a). Shows the spa flag: deep links load the app.

  • spa
  • history api
  • no build
interactive2026

Threaded Mandelbrot

Web Workers render into one SharedArrayBuffer. Shows the crossOriginIsolated flag that threaded WASM also needs.

  • web workers
  • sharedarraybuffer
  • no build
shader2019

Let the Sunshine In

A sun built from custom GLSL, driven by the scroll wheel. TypeScript and three.js r104.

  • three.js r104
  • glsl
  • typescript