Skip to content

Starless is a CPU black hole raytracer in numpy suitable for both informative diagrams and decent wallpaper material.

License

Notifications You must be signed in to change notification settings

jon-barker/starless

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Starless is a CPU black hole raytracer in numpy suitable for both informative diagrams and decent wallpaper material.

It is still in development and will be presented on my site along with my real time black hole visualizer. Starless, instead, is not real time but offers greater functionality, performing actual raytracing (while the mentioned WebGL applet uses a precomputed lookup texture for deflection).

Features

  • Full geodesic raytracing in Schwarzschild geometry
  • Predicts distortion of arbitrary objects defined implicitly
  • Alpha-blended accretion disk
  • Optional blackbody mode for accretion disk with realistic redshift (doppler + gravitational)
  • Sky distortion
  • Dust
  • Bloom postprocessing by Airy disk convolution with spectral dependence
  • Completely parallel - renders chunks of the image using numpy arrays arithmetic
  • Multicore (with multiprocessing)
  • Easy debugging by saving masks and intermediate results as images

(Possible) future features

  • Non-stationary observers, aberration, render from inside the event horizon
  • Kerr geometry (rotating black holes with frame dragging)
  • Integration of time variable, time dependent objects (e.g. orbiting sphere with retarded time rendering) with worldtube-null geodesic intersection
  • Generic redshift framework for solid colour objects

Installation and usage

Please refer to the Wiki.

About

Starless is a CPU black hole raytracer in numpy suitable for both informative diagrams and decent wallpaper material.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%