Ciò dipende dal fatto che tu voglia progettare o meno un motore per produrre un gioco da realizzare in tre anni, o un anno o sei mesi, e se stai pensando o meno alle porte della console. Sarà relativamente facile lanciare una porta 360 del tuo gioco da Direct3D9, ma dovrai fare molto di più originando da D3D11. Ricorda che D3D11 blocca tutti gli utenti XP, se non necessariamente tutto l'hardware D3D9.
Il sondaggio Steam più recente suggerisce che circa il 16% delle persone utilizza ancora Windows XP. Puoi permetterti di tagliarli? Al termine del gioco, come sarà cambiato? Utilizzerai funzionalità che dipendono dall'API di livello superiore? Queste sono domande a cui dovrai rispondere da solo.
Direct3D 9 è dannatamente accessibile e puoi raggiungere molte persone con un gioco D3D9, ma i suoi giorni sono numerati, specialmente sul PC. Se non sei interessato a prendere di mira quelle persone, allora ha poco senso.
Oh, e non preoccuparti di DX10. Non c'è motivo di usarlo su DX11. A meno che non si desideri utilizzare D2D / DirectWrite, il che non è irragionevole.
Ovviamente, vale la pena ricordare che in DX11 non ci sono sostituti per le lezioni che, come hobbista, ho trovato estremamente utili in DX9. Come ID3DXMesh, ID3DXSprite, ID3DXFont, devono compilare ID3DXEffect dalla fonte, ecc. Microsoft consiglia DirectWrite per sostituire ID3DXFont, ma ovviamente si sono dimenticati di rendere DX11 compatibile con i nuovi sistemi Direct2D / DirectWrite, che a mio avviso erano incredibilmente stupidi .