I met with Karl this afternoon to start hacking on a software renderer. Truth be told, we mostly talked, and he wrote one
#define. My interest in the project is less about the graphics and more about getting better at linear algebra and architecture-specific optimizations.
From a pure programming point of view, I tend to be attracted to the ends of the spectrum. Procedural and object-oriented programming tend to bore me. On one end, the mathematical nature of functional programming is elegant. On the other end, specifying opcodes makes you feel like you’re in control of the machine.