Zink, un'implementazione delle OpenGL su Vulkan
Zink è il nome di un ambizioso progetto che vede le OpenGL emulate tramite Vulkan. L'obiettivo è semplificare le cose e usare solo Vulkan, mantenendo le OpenGL come API legacy
di Riccardo Robecchi pubblicata il 08 Novembre 2018, alle 11:41 nel canale Scienza e tecnologiaVulkan
Vulkan ha portato una ventata di novità nel mondo delle API grafiche e la sua collocazione a un livello molto basso fa sì che offra miglioramenti prestazionali anche significativi rispetto alle API precedenti. Tali miglioramenti permettono di emulare le API come DirectX e OpenGL senza un eccessivo compromesso in termini di prestazioni e proprio da tale considerazione - e da alcune altre - nasce Zink.
Zink è un'implementazione di OpenGL su Vulkan che punta a rendere disponibili le API OpenGL anche qualora queste non siano nativamente disponibili per la scheda video in uso. Un esempio di tale scenario è quello di una scheda video per la quale non siano stati rilasciati i driver OpenGL, ma solo i driver Vulkan - una situazione poco realistica al momento attuale, ma che è anche uno degli obiettivi del progetto.
Con le schede video meno recenti che ricevono però sempre meno supporto, e con lo sviluppo dei driver che deve dividersi tra OpenGL e Vulkan, permettere agli sviluppatori di concentrarsi sui soli driver Vulkan potrebbe portare a un miglioramento del supporto per un numero maggiore di schede video. Zink punta proprio a far sì che basti un driver Vulkan per eseguire anche applicazioni OpenGL.
Tra le altre motivazioni troviamo l'alleggerimento della pila grafica, che al momento fa spazio a due famiglie di API per ottenere - in fin dei conti - la stessa cosa. Utilizzando solamente Vulkan si otterrebbe una semplificazione notevole. Zink permetterebbe anche di sviluppare applicazioni implementando parti sia in Vulkan che in OpenGL in maniera più semplice.
Al momento attuale il progetto è ancora in fase di sviluppo iniziale e non offre prestazioni tali da essere utilizzabile in scenari d'uso reali, ma offre già molte funzionalità che includono l'implementazione di OpenGL 2.1, OpenGL ES1.1 e OpenGL ES 2.0.
Zink nasce come progetto open source per il mondo Linux, ma è aperto all'uso anche su altri sistemi operativi come macOS o Windows. Ulteriori dettagli sullo sviluppo e sul progetto sono disponibili in un articolo pubblicato dal principale autore, Erik Faye-Lund.
7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infosi, a sto punto su unix sarebbero le schede più veloci
Funziona molto bene. È la stessa implementare che Steam usa per far andare i giochi di Windows su Linux.
Hwupgrade ne aveva parlato tempo fa.
grazie, mi ci infogno subito
Non funziona proprio così, i problemi delle OpenGL te li porti dietro in una eventuale reimplemetazione nel momento in cui cominci a sviluppare la parte di threading e contesti.
Il bello di Vulkan è che ti liberi di anni di sovrastrutture ormai senza senso (le OpenGL devono ancora esporre i contesti 1.x con le varie glVertex, glColor, glMatrix e compagnia cantando :rolleyes se ti metti a riscrivere le OpenGL devi anche reimplemetare quelle, che reintroducono i colli di bottiglia.
Il progetto non è teso a migliorare le prestazioni, ma a ridurre la complessità nella distribuzione delle librerie grafiche.
Il bello di Vulkan è che ti liberi di anni di sovrastrutture ormai senza senso (le OpenGL devono ancora esporre i contesti 1.x con le varie glVertex, glColor, glMatrix e compagnia cantando :rolleyes se ti metti a riscrivere le OpenGL devi anche reimplemetare quelle, che reintroducono i colli di bottiglia.
Il progetto non è teso a migliorare le prestazioni, ma a ridurre la complessità nella distribuzione delle librerie grafiche.
Concordo. In più le performance non possono essere migliori di un driver OpenGL allo stato dell'arte scritto appositamente, semplicemente perché c'è uno strato in più: Vulkan appunto.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".