Let's say I don't want to make a game. I specifically want to mess around with a low-level 3D graphics API, because I'm bored and I want to learn something new. I want to work on programming problems with a strong visual component (something like this), because I'm a visual thinker and I like visual problems.
So I spend a few hours on Google, and what the heck? What's all this nonsense about fixed-function and programmable pipelines? Why are there so many darned API choices? What if I have an integrated Intel card that only supports OpenGL 2.1, but for some reason supports Direct3D 10, which is apparently the better "programmable" version? I like the Linux command line, but should I switch over to Windows because of D3D10? You're saying that I can do OpenGL ES graphics programming on my smartphone?
What should I use, given my circumstances of wanting to learn low-level 3D graphics and having an integrated Intel card? There are too many choices, and I honestly don't know what to research.