ProjectsBlackhole Renderer
05 / Systems / GPU rendering

Blackhole Renderer

A CUDA Kerr black-hole renderer with a shared headless PNG CLI and SDL2/OpenGL/Dear ImGui workbench.

Category
Systems / GPU rendering
Stack
C++ · CUDA · Physics
Year
2026

Overview

Blackhole Renderer turns Kerr spacetime equations into inspectable images. The same CUDA render kernel powers a headless command-line renderer for reproducible PNG output and a graphical workbench for exploring camera, disk, spin, beaming, redshift, and starfield parameters.

The project is explicit about its maturity: the current 0.9.0 release candidate is a development build, RK45 is the reference integrator, and Geokerr is an experimental approximate alternative. The renderer also includes deterministic cinematic documents, animated emission, and sequence-export infrastructure.

Methodology

The physical core uses geometrized units with G=c=M=1. Each camera ray is mapped to conserved photon quantities and integrated through the Kerr radial and polar potentials. Disk hits are shaded with the declared thin-disk and relativistic transfer contracts, while the cinematic path keeps linear radiance separate from exposure, bloom, tone mapping, and the final sRGB transfer.

GPU and host interfaces are designed around caller-owned buffers, asynchronous CUDA streams, strict preset schemas, transactional loads, and deterministic frame evaluation. Validation compares integrators and images, covers invalid inputs and resource lifetimes, and keeps known limitations visible instead of silently treating an approximation as a reference result.

What it does

  • Kerr ray tracing with RK45 reference integration
  • Experimental Geokerr backend with explicit approximation status
  • Headless PNG CLI and interactive SDL2/OpenGL/Dear ImGui workbench
  • Relativistic disk temperature, beaming, redshift, and time-dilation controls
  • Strict JSON presets, cinematic shot documents, and deterministic frame sampling
  • HDR starfield loading, animated emission, and numbered sequence export
  • CUDA, host, CLI, and hidden graphics-lifetime validation coverage