A while back in mid-2017, I decided to start learning raw OpenGL programming. The obvious choice to start this in was C++, since that was the language I had grown up writing in, and I had a pretty good idea of where to start. I began to lay out the framework of a GLSL demotool, similar to Shadertoy, and started hacking away. After a month or so of work, I had a semi-working project, with command-line arguments to load arbitrary shader programs and execute them in a window. Great!