Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rossning92/blackhole
A blackhole simulation using OpenGL / C++.
https://github.com/rossning92/blackhole
blackhole computer-graphics glsl opengl shader simulation
Last synced: 5 days ago
JSON representation
A blackhole simulation using OpenGL / C++.
- Host: GitHub
- URL: https://github.com/rossning92/blackhole
- Owner: rossning92
- Created: 2020-08-29T08:17:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-02T02:05:20.000Z (about 2 months ago)
- Last Synced: 2025-01-17T20:07:42.554Z (12 days ago)
- Topics: blackhole, computer-graphics, glsl, opengl, shader, simulation
- Language: C++
- Homepage:
- Size: 20.5 MB
- Stars: 320
- Watchers: 6
- Forks: 48
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Real-time Black Hole Rendering in OpenGL
![Screenshot](docs/blackhole-screenrecord.gif)
## Prerequisite
- [cmake](https://cmake.org/)
- [conan](https://conan.io/) package manager [^1][^2][^1]: You might need to configure [$HOME/.conan/conan.conf](https://docs.conan.io/en/latest/reference/config_files/conan.conf.html) and Conan [profiles](https://docs.conan.io/en/latest/reference/profiles.html) if the `default profile` is not generated due to different build environments on your distribution.
[^2]: Conan 1.xx instead of conan 2.xx or higher is suggested in order to avoid unnecessary problems.## Build the code
```bash
# Configure the project and generate a native build system.
cmake -DCMAKE_BUILD_TYPE=Release -S . -B build# Compile / build the project.
cmake --build build
```## Acknowledgements
**Papers**
- Gravitational Lensing by Spinning Black Holes in Astrophysics, and in the Movie Interstellar
- Trajectory Around A Spherically Symmetric Non-Rotating Black Hole - Sumanta
- Approximating Light Rays In The Schwarzschild Field - O. Semerak
- Implementing a Rasterization Framework for a Black Hole Spacetime - Yoshiyuki Yamashita**Articles**
- Physics of oseiskar.github.io/black-hole - https://oseiskar.github.io/black-hole/docs/physics.html
- Schwarzschild geodesics - https://en.wikipedia.org/wiki/Schwarzschild_geodesics
- Photons and black holes - https://flannelhead.github.io/posts/2016-03-06-photons-and-black-holes.html
- A real-time simulation of the visual appearance of a Schwarzschild Black Hole - http://spiro.fisica.unipd.it/~antonell/schwarzschild/
- Ray Tracing a Black Hole in C# by Mikolaj Barwicki - https://www.codeproject.com/Articles/994466/Ray-Tracing-a-Black-Hole-in-Csharp
- Ray Marching and Signed Distance Functions - http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/
- Einstein's Rings and the Fabric of Space - https://www.youtube.com/watch?v=Rl8H4XEs0hw)
- Opus 2, GLSL ray tracing tutorial - http://fhtr.blogspot.com/2013/12/opus-2-glsl-ray-tracing-tutorial.html
- Ray Tracing in One Weekend - https://raytracing.github.io/
- On ray casting, ray tracing, ray marching and the like - http://hugi.scene.org/online/hugi37/- hugi%2037%20-%20coding%20adok%20on%20ray%20casting,%20ray%20tracing,%20ray%20marching%20and%20the%20like.htm**Other GitHub Projects**
- https://github.com/sirxemic/Interstellar
- https://github.com/ssloy/tinyraytracer
- https://github.com/RayTracing/raytracing.github.io
- https://awesomeopensource.com/projects/raytracing
- Ray-traced simulation of a black hole - https://github.com/oseiskar/black-hole
- Raytracing a blackhole - https://rantonels.github.io/starless/
- https://github.com/rantonels/schwarzschild