Dipende da cosa stai facendo. Se stai usando Direct3D, l' unico motivo per passare è ottenere l'accesso a funzionalità hardware che altrimenti non potresti ottenere.
Per un gioco 2D, è teoricamente possibile che alcune funzionalità possano interessarti. Ad esempio, OpenCL o DirectCompute. Civilization V utilizza DirectCompute per decomprimere le trame. Ciò riduce drasticamente i tempi di caricamento, perché deve solo caricare i dati compressi. E i giochi 2D hanno spesso molte immagini. Se il tempo di caricamento è un problema, questo potrebbe aiutare.
OpneCL dovrebbe essere disponibile su tutto l'hardware GeForce 8xxx e versioni successive. Su ATI, è disponibile su HD 4xxx e hardware migliore.
Direi che la più grande caratteristica che potresti usare in DX11 è la possibilità di leggere e scrivere in modo più arbitrario immagini negli shader. Ciò potrebbe essere utile per alcuni effetti specializzati. Non riesco a pensare a nessuno in questo momento ... che dovrebbe dirti quanto è probabile che questo sia importante.
In generale, direi che se stai usando D3D, probabilmente non otterrai molto. E se non capisci già quali sono le nuove funzionalità e desideri utilizzarle nel tuo gioco, quasi sicuramente non guadagnerai molto. Molti di loro saranno più complessi.
OpenGL è diverso per uno dei motivi principali. OpenGL 2.1 (l'equivalente più o meno di D3D9) fa schifo come API. OpenGL 3.3 (oltre ad alcune estensioni più recenti eseguite su hardware 3.3) migliora molto l'API. Localizzazione esplicita degli attributi, separazione dei programmi shader, tutto nel pacchetto linguistico shading 420 e così via.
Alcuni di questi funzionano abbastanza bene in forma di estensione contro 2.1. Alcuni di loro ... no. Non sono ancora sicuro se sia corretto utilizzare percorsi di attributi espliciti con attribute
dichiarazioni (prima della in
sintassi corrente ). Shading language pack 420 afferma specificamente che non funziona con le versioni GLSL precedenti alla 1.30 (aka: OpenGL 3.0).
Ciò non significa che GL 2.1 sia inutilizzabile. È certamente funzionale e funzionale, semplicemente non piacevole. Anche se alcuni driver che troverai che implementano non sono riparabili. L'hardware DX9 di ATI non è più supportato, quindi quei driver sono davvero difettosi. E Intel non si è mai preoccupata di OpenGL, quindi usare shader sul loro hardware è una fortuna.
Ma personalmente, se la tua base di utenti prevista lo consente, spingerei a GL 3.3 se stai usando OpenGL. In caso contrario, dovrai solo affrontare i problemi 2.1.