← Back to experiments

ThreeLab

A lab for 3D experiments using Three.js. Procedural terrain generation, noise-based elevation, custom GLSL shaders, and real-time animation — a space to explore spatial computing ideas outside of work.

Three.jsGLSL ShadersSimplex NoiseCanvas
ThreeLab procedural terrain

What it does

ThreeLab generates procedural 3D terrain using Simplex noise with multiple octaves. The terrain deforms in real-time, creating an endlessly evolving landscape. Custom GLSL fragment shaders handle the rendering with elevation-based coloring and atmospheric fog.

How it works

A modular engine manages the Three.js scene, camera, and animation loop. Each experiment is a self-contained scene module that plugs into the engine. The terrain scene uses a plane geometry with vertex displacement driven by noise functions, animated per-frame for continuous motion.

Play a game

Arrow keys or WASD to move. Eat the dots, don't hit the walls.

Snake

Why I built it

After years of designing for spatial computing at Magic Leap, I wanted a personal playground to keep exploring 3D outside of production constraints. ThreeLab is where I prototype ideas — terrain systems, particle effects, shader experiments — that might eventually inform product work.