This book is a great start for people wanting to learn Direct3D and a great reference for Direct3D programmers. Frank Luna's book covers several important topics for getting started with 3D graphics using DirectX 9.0, and refrains from any off-topic discussions or biased rants.
The book includes a section on basic math concepts for 3d programming. Also includes sections on Direct3D fundamentals (which explains D3D9 initialization, the Direct3D rendering pipeline, and drawing in Direct3D with vertex/index buffers, color, lighting, textures, blending and stenciling) and applied Direct3D concepts (fonts, meshes, .x files, cameras, basic terrain rendering, particle systems, and "picking"). The author devotes the final section to vertex and pixel shaders and effects using HLSL (high-level shading language). He also includes a quick introduction to setting up a skeleton windows application as an appendix (where it should be located in a book on DirectX).
One final thing to note about this book is that it only covers the Direct3D portion of DirectX 9.0, so you'll need to go elsewhere for coverage of DirectPlay, DirectInput, DirectSound, etc. Howver, the fundamentals of Direct3D are covered with the depth necessary to give a completely understanding of how to begin coding 3D graphics with DirectX 9. After reading several books on DirectX and game programming, this is the book I wish had picked to read first.