

I built this interactive 3D black hole as a tribute to Interstellar's Gargantua — rendered entirely in the browser using Three.js and custom GLSL shaders. No pre-baked assets, no tricks: just a handful of planes and spheres brought to life with procedural noise, a swirling accretion disk, and gravitational lensing baked straight into the shader code.
This was one of my first serious dives into real-time 3D on the web, built during a Master Shaders workshop with Bruno Simon. The technical challenge was writing GLSL that could fake the physics convincingly — light bending, color grading, and the eerie glow of the disk — all running at 60fps in a standard browser tab.
What made it click for me was realising how much visual complexity you can squeeze out of almost nothing. It opened my eyes to creative coding as a discipline, and it's still one of the projects I'm most proud of. Click and drag to orbit — the lensing effect looks different from every angle.