Building a simulator to improve my knowledge of 3D rendering and math