Soon after I learned how to program back in 2003 or so, I wanted to program 3D stuff, just because I though it was cool. Unfortunately, the Python wrapper to OpenGL sucked. Majorly. I could manage, but I had to do without whizzbang features like shaders, and framebuffers, and HDR. At least I was happy texturing things and using shadow mapping. I even wrote the article on it.
But man, 3D is hard. Do you know what a matrix is? It's a 2 dimensional grid of numbers. 3D graphics LOVE THEM. To understand 3D, you must understand all the matrices involved and how they interact with all the bits of data flying around. And if you get just a bit of one wrong, the whole thing blows up. Good that my new GPU can do billions of matrix operations every second!
Several years later (~2008), I dipped my toes into C++, only to find out that C++ was harder to use than OpenGL! Using them together was only asking for pain. I must have been masochistic, because I did.
I've been playing around with it, and I want to build a 3D graph and chart engine. My aim is to display web analytics using it. I want to have transparent bar charts and stuff flying around, like they have on the TV news. I've already worked out how to build a sphere out of a icosahedron, along with per-pixel lighting. Sounds like I have a plan.