Over the past 5 or so years, Microsoft has released APIs / that is intended to replace older APIs:
- (2006) Direct3D10
(2009) Direct3D11
(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
- Direct2D
- DirectWrite
- D3D10
- D3D11
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
http://knol.google.com/k/-/-/2lijysgth48w1/8oyyfu/image2.png
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!
love,
Microsoft
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?