Over the past 5 or so years, Microsoft has released APIs / that is intended to replace older APIs:
- (2006) Direct3D10
(2008) XAudio2 / deprecates DirectSound
- (2006) Windows Media Foundation / replaces DirectShow
But 66% of Windows users are still on Windows XP as of Oct 2010.
Win XP doesn't and won't have:
- Windows Media Foundation
There's a lot of cool stuff in these API's! My question is is there any point, as a game dev, in migrating to the newer technology while you still have to support the old technology and provide a similar gaming experience?
Microsofts refusal to support D3D 11 on XP means there are some cool shader FX that are only supported on Windows 7 machines, such as geometry shaders
But its generally not that acceptable to say something like "Hey those cool geometry shader FX only show up if you're running Windows 7!" Suddenly you as a game developer are part of the angry microsoft upgrade push.
UPGRADE YOUR SYSTEM SO YOU CAN PLAY THE GAME!
My point is, if I write code for D3D11, and then I'm going to have to double-up and dupe the rendering code on D3D9 and work extra hard to manually reproduce the stuff that APIs like DirectWrite do for me so easily, why should I bother learning D3D11 at all?