I choosed DX11. In the future (1, 2 ... years later since now) many people will use Directx 11. If you like it or not you will have to change your version of DX. DX9 is going to be older and older. You should go with the technological progress. If Directx 12, 13 will came out, a big studios will bring to 11, 12 version etc.
probably getting ahead of myself again. but is it possible to code something in DirectX9, DirectX10, AND DirectX11?
I'm just asking this because I'm wondering how pro game dev teams create games that could be run under Windows XP, Windows Vista, and Windows 7, and that can be run under DirectX 9, 10, and 11?
I'm curious how this fits together because I've heard such like if you program something in like DirectX11, it cannot be used by Windows XP users, but if you're on Windows 7 you have to use 11, etc. and im just not sure what is true and what is not, so let me put it this way.
I wanna learn the API that could be used whether you are on XP, Vista, or 7, and no matter what DirectX version you are on...if possible?
Get to a master level, will take him a few years, then DX11 will be more popular than DX9. Learn a DX11 will take him a next month (or years). So, his skill with DX9 won't be useful anymore.
My point is learn 3dmaths and things using fixed function in dx9, then when you're good at that step up to writing shaders in dx9. Then when you are master of that you can step up to dx10 but you will have to do more of the work using that api, a lot of studios don't think its worth it either.