Black Hole Renderer
Description
The core renderer is implemented in C++ and an interactive tool using OpenGL was also made. The ray tracer simulated the path of photons around a black hole by using numerical integration on a system of differential equations. The OpenGL app is a progressive renderer to set various environment and camera parameters including the black hole radius, the accretion disk size/color/distribution, and camera position/rotation/aperture/FOV. The accretion disk is the bright gas that orbits the black hole and is generated using Perlin noise. The black hole renderer is multithreaded to fully utilize the CPU and it also features basic keyframe animation for camera movement.