Rilasciate le librerie OpenGL 4.5 con diverse nuove funzionalità

Pubblicate le nuove API OpenGL di ultima generazioni: fra le novità troviamo SPIR 2.0 e DSA

Come annunciato da tempo, The Khronos Group ha annunciato nella giornata le nuove librerie OpenGL 4.5, ultimissima versione delle API 3D open source per Windows, Mac OS X e Linux, comprendendo dunque tutte le varie specifiche.

opengl

OpenGL 4.5 introduce tutta una serie di novità che vanno notevolmente a semplificare il lavoro di sviluppo, tra cui sicuramente la più importante è il nuovo SPIR 2.0: si tratta di un livello intermedio, sviluppato su base LLVM 3.4, che si va a collocare fra OpenCL 2.0 (sviluppato in un linguaggio derivato dal C detto OpenCL C) ed altri linguaggi di programmazione, permettendo quindi d’interagire con OpenCL appunto tramite altri linguaggi di programmazione (come C++, Java od altri).

Un’altra importante novità è il nuovo sistema DSA (Direct State Access): partiamo da una doverosa premessa, e cioè che OpenGL, in parole povere, è un’API che possiede implicitamente una struttura complessa per regolare le funzioni. Per esempio, prima di riportare le proprietà di una texture, questa deve essere attiva e successivamente associata all’unità texture “globale” (è un gioco di parole, il classico collego zona piccola a zona grande e poi definisco meglio zona piccola, per intenderci).

In paole povere, tutto ciò non è conveniente per gli sviluppatori, soprattutto per chi scrive middleware, in quanto per definire gli attributi di una texture ed operarci direttamente questa deve essere per forza associata ed attivata come scritto sopra (anche se magari non ce ne è subito bisogno). Il problema è proprio questo: siccome non si può agire su texture non attive, il middleware deve fare il doppio del lavoro – attivala, modificala, disattivala. DSA viene proprio in soccorso in questi casi: permette sia di impostare che di visualizzare le proprietà degli oggetti senza il bisogno di attivarli, semplificando quindi notevolmente il lavoro degli sviluppatori.

Inoltre OpenGL 4.5 migliora l’interazione tra comandi ed hardware (migliorando il multithreading) ed anche i problemi correlati al resetting della GPU (cosa che in WebGL è fondamentale). Insomma: non si tratta di nulla di davvero rivoluzionario come possono essere DirectX 12 e Mantle, ma di un perfezionamento molto importante di OpenGL 4.4.

Per quanto riguarda il supporto da parte dei produttori grafici, NVIDIA ha già rilasciato nuovi driver beta per Windows (340.65) e Linux (340.23.01) che aggiungono il supporto ad OpenGL 4.5 su schede GTX serie 400 e superiori, scaricabili da questo link. AMD molto probabilmente aggiornerà i propri driver Catalyst per entrambi i sistemi nei prossimi giorni, mentre per quanto riguarda Intel su Windows non è noto quando arriverà il supporto, mentre per Linux molto probabilmente bisognerà attendere Mesa 12, in quanto Mesa 11 arriverà con il supporto previsto massimo ad OpenGL 4.3.

  • Nico

    C’è un errore qui “sviluppato in un linguaggio derivato dal C detto ANSI C”, dovrebbe essere “sviluppato in un linguaggio derivato dal C detto OpenCL C”.

    • https://plus.google.com/u/0/118406303759100137765/ Alessandro Frigoli

      Grazie, correggo :)