69

GitHub - rantonels/starless: Starless is a CPU black hole raytracer in numpy sui...

 6 years ago
source link: https://github.com/rantonels/starless
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

README.md

Python Black Hole Raytracer

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 Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK