OpenGL è morto?
Non sono completamente d'accordo con Mike Milpot. Non credo che Apple sia l'unica azienda che vuole "uccidere" OpenGL. OpenGL è solo un'API grafica di uso generale. È ancora la scelta più adatta per i dispositivi embedded e per imparare la programmazione grafica.
OpenGL è una delle API di più alto livello e questo rende OpenGL non adatto allo sviluppo di giochi moderni in cui i programmatori grafici hanno bisogno di personalizzare l'intera pipeline grafica: dai vertici al controllo gamma.
Ecco perché tutte le moderne console di gioco hanno le proprie API: PlayStation 4 ha Gnm di AMD (acronimo ricorsivo per "Gnm non Mantle") che è un'API di livello molto basso, Xbox One supporta Direct3D 11 modificata e Direct3D 12. AMD ha la propria API che è supportata da alcune schede grafiche Radeon, Mantle. Inoltre, AMD investe molto in Vulkan e Direct3D 12.
NVIDIA è l'unica azienda moderna che investe almeno più di niente nel supporto OpenGL a causa del background storico di NVIDIA nello sviluppo OpenGL.
Infine, Apple ha Metal. Anche questa è un'API di basso livello.
Quindi, potete vedere che le tendenze moderne includono il rendere ogni interazione grafica molto di basso livello per una completa personalizzazione della pipeline.
La risposta alla vostra domanda è: OpenGL è decisamente morto per lo sviluppo di giochi di fascia alta. Non è nemmeno adatto per l'accelerazione generica su GPU (le soluzioni migliori sono CUDA o Vulkan/DirectX11/12 pipeline dispatch).
Tuttavia, è ancora la migliore opzione per la programmazione embedded (come API accelerata da GPU o come API Mesa3D) e per lo sviluppo Android (Vulkan non sostituirà mai completamente OpenGL per Android perché è l'API più a basso livello sul mercato).
L'ultima cosa è OpenGL SC. È, tra l'altro, l'unica API grafica completamente certificata che è pienamente conforme agli standard di sicurezza automobilistici e avionici. Questo rende OpenGL SC la scelta de-facto per questi settori.
Articoli simili
- Quali sono le differenze tra le OpenGL moderne e quelle vecchie? L'OpenGL moderno è difficile, quindi dovrei iniziare con il vecchio OpenGL?
- È vero che quando un'ambulanza ha le luci accese, ma non la sirena, significa che qualcuno sull'ambulanza è morto, o è morto?
- Quali sono le differenze tra WebGL e OpenGL?
- Quali sono le differenze tra OpenCL e OpenGL?