A lightweight 3D graphics engine from scratch with rasterization and ray tracing support, capable of rendering .obj models with basic lighting.
Blank
I LOVE math. I thought making a renderer would require at least a little bit more math than making a portfolio website and... yeah. Yeah it was more math. I love math.
I learned a lot about applying theoretical knowledge (especially in linear algebra) to a real-world thing, and it was actually way more eye-opening than I thought it would be. I ended up having to write good code (oh no...) and think things out before writing them (oh NO), which ended up being an incredibly useful skill to have at Lockheed Martin, where I worked on optimizing and writing C code.
.obj
files.
My favorite language, C. Also used my favorite IDE, CLion.
That's a joke. Every 30 minutes CLion stops saving the modified file to disk and so re-running the code doesn't change anything and I have to force-quit CLion (because normal quitting doesn't work) and restart it (Ultimate edition btw).