Hugo Hismans
FR

Back to the atlas

Screenshot of Périastre on desktop
Screenshot of Périastre on a phone

HH·022ScienceIn progress4 Aug → 17 Aug 2026422 commits

Périastre

Sagittarius A*, computed pixel by pixel, sixty times a second

A web experience that takes you close to Sagittarius A*, the black hole at the center of the Milky Way. The image is not an illustration: a WebGL2 shader integrates general-relativity geodesics for every pixel, and a built-in test bench checks the engine against theory (photon sphere accurate to 0.002%). Around it is a whole ship to explore: a lounge you can walk through, a 1 g journey, the S stars that gave the black hole away, the Moon replaced by a black hole, and Lumen, the onboard AI that talks.

What shines

  • Black hole rendered by integrating Schwarzschild geodesics in real time in a WebGL2 shader: the shadow, the photon ring and the disk folded by gravitational lensing all come out of the computation, nothing is painted
  • Onboard test bench ("Why is it accurate?"): photon sphere within 0.002%, shadow radius within 0.0002%, innermost stable orbit within 0.074% of the theoretical values
  • A study black hole with spin adjustable continuously up to the Thorne limit (a* = 0.998), using the Kerr metric in the shader
  • Ship you can explore in first person: lounge, an occupant generated by the computation, onboard screens, a telescope that leads to the S stars, to the solar system seen from the Oort cloud and to an Earth shoreline where you replace the Moon
  • Lumen, the onboard AI, with 59 pre-synthesized voice lines, and generative Web Audio music driven by the ship's orbit

How to use it

Choose FR or EN, enter with or without Lumen's voice, then drag to orbit the black hole, drop probes, speed up time and visit the ship

Made with

  • JavaScript vanilla (statique, sans build ni dépendance)
  • WebGL2 / GLSL (intégration des géodésiques dans le fragment shader)
  • KaTeX
  • Web Audio API (musique générative)
  • Pointer Events & Pointer Lock
  • localStorage
  • Node.js (48 outils de vérification en ligne de commande)
  • Python + edge-tts (voix pré-synthétisée)
  • GitHub Actions / GitHub Pages

In the same constellation