I can't tell you much about 3D in general, but on the programming side
of 3D I might suggest learning OpenGL over DirectX. Our project uses
JOGL for rendering (So that we can have 3d special effects in the 2d
world), and so does RuneScape and many others. I'm pretty sure there's
many books on the topic because OpenGL is a widely adopted library
that has been around forever. A couple other advantages over DirectX
is that DirectX is Windows specific, but OpenGL is cross-platform.
Also OpenGL is possibly both slightly lower level, and simpler, than
DirectX. So perhaps just like programming, better to learn C++ before
you learn Visual Basic for educational reasons.
Here's a couple of tutorials, these are OpenGL in Java, but you would
want to start learning in whenever programming language you already
know. The concepts and api calls would be exactly the same.
http://today.java.net/pub/a/today/2003/09/11/jogl2d.html
http://nehe.gamedev.net/lesson.asp?index=01
Other topics to learn besides a programming API:
Learn some modeling with any 3d modeling program.
Learn the terminology and concepts well. Vertex, Polygon, Skeleton,
Texture, NURBS, etc etc etc.
Blake