Once upon a time there was a software engineer who had a simple desire: he wanted to experiment with crafting a three-dimensional environment, just for the heck of it. Should be simple enough, he thought, after all, there are so many 3D games and widgets out there, it can't be that hard. Everyone uses C++ and OpenGL, right? It's cross-platform, isn't it?
He very quickly began to suspect that things might not go as smoothly as he had imagined at the outset. "It's just #include <GL/gl.h>
, right?" he asked. "Oh wait, apparently Mac OS X wants <OpenGL/gl.h>
. And what's this about glu.h
not being found? The OpenGL tutorial that I found online says to use GLUT, but I don't think that's supported anymore, is it? What's this Linux glx contraption? What on earth is mesa?" he mumbled to himself, getting more desperate with each linker error. "Forget it, I'm joining a monastic order" our hapless developer finally announces, chucking his ThinkPad™ out the window...