This renderer was made with the purpose of learning more about the rendering process, and as a way to learn about programming practices that are helpful in handling a complex program. I followed a tutorial, but deviated to add my own features and functionality that I wanted which wasn't described in the tutorial.
Ironically, though this project is a model renderer, it only shows one thing. Visiting the Github page is the best way to both look at this project, and understand the way it works.