Thoughts on Black Hole Rendering
To render a (non-rotating) black hole, it should suffice to know the relationship between the following four quantities:
- Your distance from the black hole.
- How far the trajectory of the incoming light ray angles toward or away from the black hole.
- How far the ray has been deflected from its direction at t=-∞.
- How far the ray was offset from pointing directly at the black hole at t=-∞.
Given two of these quantities, it should be possible to compute the other two. And while the computation might be annoying, the results could be precomputed and stored in a texture.
How do you use this to render? First, you figure out where your ray came from. Then, once you know that, you back-calculate what might have intercepted the light ray.