   DirectX 9 and DirectX 10
  Ok, for example I'm learning DX9 and I buy new PC which supports DX 10, so DX10 functions and all of that stuff are different from DX9 - mean what I must learn DX10 from beginnings?   
  No, you won't have to start all over. Different versions are more alike than not. Knowledge of one version will carry over to the next; you'll just have to take care to learn the differences.   ;  Most of the 3D concepts stay the same, even if you would use OpenGL instead.The biggest difference between DX9 and 10 is that you are force to use shaders in DX10, so if you learned DX9 with the shader way it still be easy to switch, but if you learned the fixed pipeline you still have work to do :).   ;  Just because your computer supports DX10 does not mean you can no longer use DX9.All of the DX9 interfaces will continue to work just fine.   ;  Most versions of Direct3D are pretty similar. Direct3D9 and Direct3D10 are the most different; they redesigned the API to better reflect how the graphics card actually works now. So, it is quite different, but provided you understand how the graphics card actually works (which you kind of need to know in order to use D3D9 effectively) then switching to D3D10 will be fairly quick to learn.   ;  They're all missing a crucial point - DX10 doesn't run on WinXP. Period.That may or may not bother you depending on your intentions, but it's something to consider. Despite the fact that the XNA/DX crew are all figuring out DX12 and 13 right now, DX9 isn't going away anytime soon and certainly not as fast as MS would like.   