I'm learning 3D graphics and game programming by building a 3D game engine. The engine is named as it is, because, as a master game programmer might say to me, "you have much to learn, grasshopper".