@source: https://learnopengl.com/Getting-started/Camera