Currently I'm reading the
Beginning DirectX 9 by
Wendy Jones and documentation that comes with DX SDK seems pretty useless for n00bs.
Beginning DX9 contains subjects such as surfaces, sprites, matrices, texture mapping, 3d lighting, meshes, particle systems and in the end using DInput and DSound.
I'm learning HLSL shaders from
ShaderX2 Introduction to HLSL too. After finishing that book I must have a look at DX SDK samples for advanced topics such as HDR lighting, volumetric shadows and ...
But I'm not sure that these books are enough for writing the DX9 backend. BTW, I'll continue reading