blackhole.errolvogt.ca · simulation lab

Black hole version tracker

A running archive of black hole simulation experiments. Latest: v8 — Three.js cinematic Gargantua with layered disc shaders, 60k Keplerian particles, lensed far-side arc, and interactive controls.

Launch latest: v8 Three.js cinematic
latest · Three.js cinematic

v8 · Three.js Gargantua cinematic

Complete Three.js rewrite. Layered disc shaders with Keplerian rotation and Doppler beaming computed per-vertex on the GPU, 60k animated plasma particles, hand-crafted lensed far-side arc, Fresnel photon ring, stacked gravitational lensing halo shells, 18k star field, ACES tone mapping, and a full interactive control panel.

  • Single self-contained index.html — no build tools
  • Sliders: lensing · brightness · speed · thickness · star density
  • Auto-orbit toggle · label overlay · reset camera
  • OrbitControls · responsive resize
Open v8
most accurate custom shader

v7 · Interstellar accurate

Custom WebGL2 fragment shader: Novikov-Thorne disc emission, gravitational redshift, Doppler beaming power 3, lensed secondary disc arcs, ACES tone mapping.

Open v7
gargantua visual target

v6 · Gargantua cinematic

v5 renderer retuned against Gargantua references: white-gold blown-out disc, low camera pitch, broad sweep, upper/lower lensed disc images, ACES tone mapping, gravitational redshift.

Open v6
scratch physics prototype

v5 · Scratch geodesic renderer

First custom version built around the correct rendering structure: horizon capture, photon-ring amplification, bent-ray disk crossings, Doppler beaming, and lensed procedural skybox.

Open v5
custom interaction prototype

v4 · Fixed orbit skybox

Custom Three.js/WebGL fixed camera orbit and procedural skybox. Useful interaction direction, but too geometry-driven and not physically convincing enough.

Open v4
reference baseline

v3 · Real-time high-quality black hole shader

Reference-quality baseline using Eric Bruneton's BSD-licensed WebGL2 black hole shader. Best external physics/resource baseline.

Open v3
archived

v2 · Interstellar-inspired geodesic lens

Custom pseudo-geodesic attempt. It added disk wraparound and camera-dependent bending, but the result still looked too flat and artificial.

Open v2
archived

v1 · Fullscreen shader

First fullscreen version after removing the marketing-page layout. Better than the original page, but still just a stylized fake shader.

Open v1

Research direction

v8 is the current best renderer: Three.js with layered GLSL disc shaders, Keplerian GPU particles, lensed arc, and interactive controls. v7 is the most accurate custom fragment-shader pass. v5 is the base physics prototype; v3 is the exact external reference (Bruneton's precomputed shader).