The goal of this class project was to make a program that parses a simple text document with vertex and other attribute information (in this format) and then turns that into a raytraced PPM file. Aside from required features like Blinn-Phong lighting, stochastic soft shadows, and texture mapping, I had a personal goal of keeping things simple and using as few C++ features as were necessary, with no external math libraries; in the end I did use operator and function overloading as well as std::vector. As a result, the source code should compile through the main C++ file (Osthoffassn1.cpp) without issue on Windows or Linux (a Make file is also included). When running the resulting program, provide the relative input file path as the sole argument (several example files are given above the src directory).
Some example images: