Dovrei imparare DirectX o OpenGL?
Beh, lasciami scrivere questa risposta considerando che sai come funziona la pipeline di elaborazione grafica e altre cose relative a questo.
Quindi cosa dovresti considerare di imparare. Non lo so perché non hai menzionato cosa vuoi ottenere. Bene, qui metterò una lista di API e le loro rispettive funzionalità di lavoro in modo che possiate decidere da soli cosa si adatta alle vostre esigenze.
- DirectX- Questa API è specifica per la piattaforma Microsoft Windows e Xbox. Non può essere portata su altri sistemi Linux e BSD realted come MacOS X. Ci sono attualmente due versioni che penso dobbiate considerare prima di scegliere l'API corretta con cui lavorare. Una di queste è DirectX 11 e l'altra è DirectX 12. Entrambe sono molto diverse in un modo che DirectX 12 permette di ottimizzare il gioco o l'app in un modo tale che anche l'hardware di grado inferiore può trarre "pieno" vantaggio dal suo meccanismo interno, così che gli sviluppatori possono fare un numero maggiore di drawCalls e quindi il prodotto può servire un realismo sbalorditivo sullo schermo senza nemmeno bisogno di una GPU super costosa. Questo prima non era possibile in DirectX 11.
- OpenGL- Anche questo è come DirectX (in un certo senso) l'unica differenza è che è indipendente dalla piattaforma (funziona su ogni tipo di sistema operativo, almeno a mia conoscenza). Diverse versioni di OpenGL hanno diverse funzionalità aggiunte in esso, generalmente migliora con il tempo. Assicuratevi che il driver attuale supporti quelle funzionalità, altrimenti vi consiglio di aggiornare il driver dal sito del produttore. Controllate la documentazione per la versione con cui volete lavorare prima di imparare.
Come preferenza personale raccomando OpenGL per la sua natura cross platform.
Come nota a margine, se avete intenzione di fare solo giochi e nient'altro fareste meglio a non usare DirectX 12 e Vulkan a causa della loro noiosa e complicata natura. D'altra parte, se volete essere uno sviluppatore di motori di gioco, allora vi consiglio vivamente di usare DirectX 12 e Vulkan che vi insegneranno tutto sulla struttura interna della GPU e sull'implementazione da utilizzare nel caso dei giochi.
Articoli simili
- Quali sono le differenze tra le OpenGL moderne e quelle vecchie? L'OpenGL moderno è difficile, quindi dovrei iniziare con il vecchio OpenGL?
- Cosa dovrei imparare per lo sviluppo di giochi, DirectX o OpenGL?
- C'è un motore di gioco popolare o un motore grafico che usa Vulkan invece di DirectX o OpenGL? Cosa porta Vulkan al tavolo?
- Qual è la differenza tra OpenGL e DirectX?