Khronos Group rilascia le specifiche OpenGL 3.1

Khronos Group rilascia le specifiche OpenGL 3.1

Rilasciate le nuove specifiche per le API di programmazione delle moderne schede acceleratrici 3D

di pubblicata il , alle 09:39 nel canale Schede Video
 

Khronos Group ha pubblicamente rilasciato le specifiche OpenGL 3.1, che includono GLSL 1.40, una nuova versione del linguaggio shading di OpenGL e forniscono un migliore accesso al più recente hardware, grazie ad una migliorata programmabilità, una più efficiente processazione vertex, l'espansione di funzionalità di texture e una maggior flessibilità nella gestione dei buffer.

OpenGL 3.1 sfrutta il modello introdotto in OpenGL 3.0 per l'ottimizzazione avanzata delle API allo scopo di rendere più semplice ed efficiente lo sviluppo software ed accelerare il processo di convergenza con le API OpenGL ES mobile e embedded al fine di unificare lo sviluppo di applicazioni.

OpenGL 3.1 permette agli sviluppatori di sfruttare adeguatamente il più recente hardware disponibile sul mercato; tutti i processori esistenti che supportano le specifiche OpenGL 3.0 supporteranno anche OpenGL 3.1 con appositi driver.

Tra le novità introdotte dalle specifiche OpenGL 3.1 si segnala:

-Texture Buffer Objects: un nuovo tipo di texture che mantiene un array monodimensionale di texel di uno specifico formato, permettendo l'accesso tramite uno shader ad array di grosse dimensioni, caratteristica molto importante per una ampia varietà di applicazioni GPU compute
-Signed Normalized Textures: nuovo formato integer texture che rappresentano un valore nel range [-1.0,1.0]
-Uniform Buffer Objects: permette il rapido swap di blocchi uniform per un controllo flessibile delle pipeline, un rapido aggiornamento dei valori uniform, e per la condivisione dei valori uniform per i program objects.
-More samplers: almeno 16 texture image units devono essere accessibili ai vertex shader in aggiunta alle 16 per le quali l'accesso è garantito ai fragment shader.
-Primitive restart: per riavviare facilmente una primitiva di esecuzione, utile per disegnare in modo efficiente una mesh con molti triangle strips.
-Instancing: la possibilità di disegnare più volte oggetti riutilizzando i vertex data per ridurre i dati duplicati ed il numero di chiamate alle API.
-CopyBuffer API: copie accelerate da un buffer object ad un altro, utile per molte applicazioni incluse quelle che condivido i buffer con Open CL 1.0 per le applicazioni di visual computing avanzato.

Assieme alle specifiche OpenGL 3.1, OpengGL ARB ha rilasciato una estensione di compatibilità opzionale che consente agli sviluppatori di accedere alle funzionalità OpenGL 1.x/2.x rimosse in OpengGL 3.1 assicurando la completa retrocompatibilità per le applicazioni che lo richiedono.

Maggiori informazioni presso il sito ufficiale di Khronos Group.

12 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
daywatch8526 Marzo 2009, 09:49 #1
Qualche buona anima che programma un gioco in opengl 3.1??? Ci spero tanto...
Mercuri026 Marzo 2009, 10:02 #2
Originariamente inviato da: daywatch85
Qualche buona anima che programma un gioco in opengl 3.1??? Ci spero tanto...

Giochi in OpenGL 3.1 non credo proprio nell'immediato.
(OpenGL 3.0 richiede hardware "DX10" )

So che la Blizzard usa OpenGL per i suoi giochi (su mac) ma per Starcraft e Diablo userà OpenGL 2. Sui dispostivi mobile si andrà ancora avanti con OpenGL 2 ES

Curiosamente "l'uomo Blizzard" (Rob Barris) in Khronos s'è messo anche a fare PR sui forum di opengl.org.

Tanto che la gente lì non sa se essere contenta per i rapidi sviluppi recenti di OpenGL, o se è meglio che lui pensi più a Diablo 3 per farlo uscire prima
Eraser|8526 Marzo 2009, 10:04 #3
ma quindi i texture buffer object servono per scrivere dell'output in modo da riutilizzarlo in seguito? tipo in una nuova passata di rendering, riutilizzo i dati appena calcolati a livello di vertex processing? Leggendo le specifiche, la differenza sostanziale fra questo Texture Buffer Object e la vecchia texture monodimensionale sta soprattutto nella capienza: 2^13 (8192) contro 2^27 (il doppio di una texture 2d da 8192 di lato ) per la TBO. Niente mipmaps e niente accesso tramite coordinate normalizzate.. quindi alla fine è un semplice buffer su cui scrivere.. giusto?

molto interessante invece lo uniform buffer object..

cmq tutta roba che risale a qualche anno fa, dall'introduzione di G80.. :| Speriamo il khronos group non sia così lento anche con l'aggiornamento delle specifiche di OpenCL :|
Pikazul26 Marzo 2009, 10:27 #4
Originariamente inviato da: Mercuri0
Tanto che la gente lì non sa se essere contenta per i rapidi sviluppi recenti di OpenGL, o se è meglio che lui pensi più a Diablo 3 per farlo uscire prima


Che domande. E' meglio che pensi a Diablo 3, TUTTO è meno importante di Diablo 3!

Ehm...Coff...

Chi mi sa dire se con questa finalmente raggiungono almeno le DX10.1 come parco funzionalità?
E sarebbe anche interessante sapere se questo aggiornamento a così breve uscita è sintomo di una rinnovata vitalità del progetto oppure no.
(insomma, dobbiamo aspettarci un OpenGL3.5 o simile in concomitanza con le DX11 ?)
VW8126 Marzo 2009, 10:37 #5
Originariamente inviato da: Eraser|85
ma quindi i texture buffer object servono per scrivere dell'output in modo da riutilizzarlo in seguito? tipo in una nuova passata di rendering, riutilizzo i dati appena calcolati a livello di vertex processing? Leggendo le specifiche, la differenza sostanziale fra questo Texture Buffer Object e la vecchia texture monodimensionale sta soprattutto nella capienza: 2^13 (8192) contro 2^27 (il doppio di una texture 2d da 8192 di lato ) per la TBO. Niente mipmaps e niente accesso tramite coordinate normalizzate.. quindi alla fine è un semplice buffer su cui scrivere.. giusto?

molto interessante invece lo uniform buffer object..


Secondo mè, come se fosse antani oppure in quattro anche scribai con cofandina ...senza contare che la supercazzora brematurata ha perso i contatti col tarapia tapioco.
Norskeningia26 Marzo 2009, 10:55 #6

Sottoscrivo

Sottoscrivo tutto quello che ha detto VW81!

@Pikazul: purtroppo le OpenGL sono ancora lontane dalle DirectX, non tanto come parco funzionalita' ( anche in quello comunque ) ma soprattutto come supporto hardware e programmatori esperti.
Gaz26 Marzo 2009, 11:02 #7
Originariamente inviato da: Mercuri0
Giochi in OpenGL 3.1 non credo proprio nell'immediato. (OpenGL 3.0 richiede hardware "DX10"


Vero , ma non richiede Vista ed e' multi-piattaforma e sono usate pure sulle console. Credo che piu' del 30% dei giocatori abbia una scheda DX10 (30% e' la quota di mercato di vista se non erro) per cui sviluppare in opengl apre diverse strade.

Io ho notato che sotto linux i catalyst da quando supportano le 3.0 vanno meglio non a livello di FPS ma di qualita' (magari per introdurre il supporto han sistemato vecchi problemi).
Mercuri026 Marzo 2009, 11:19 #8
Originariamente inviato da: Gaz
Vero , ma non richiede Vista ed e' multi-piattaforma e sono usate pure sulle console. Credo che piu' del 30% dei giocatori abbia una scheda DX10 (30% e' la quota di mercato di vista se non erro) per cui sviluppare in opengl apre diverse strade.

Eh ma Blizzard mira a ben oltre il 60&

Anche se ci attaccassero i loghi "DX10" o "OpenGL 3" i giochi saranno fatti per girare anche su hardware DX9/OpenGL2, con quel che ne consegue per i loghi.
zarko26 Marzo 2009, 11:24 #9
Originariamente inviato da: daywatch85
Qualche buona anima che programma un gioco in opengl 3.1??? Ci spero tanto...

Temo che devi continuare a sperare... per un gioco che non "spreca" risorse è necessario un controllo totale della GPU, DirectX lo offre ma OpenGL ha molte funzioni "preconfezionate" che diminuiscono il tempo di sviluppo ma non consentono di controllare ogni dettaglio.
mjordan26 Marzo 2009, 14:38 #10
Originariamente inviato da: Norskeningia
Sottoscrivo tutto quello che ha detto VW81!

@Pikazul: purtroppo le OpenGL sono ancora lontane dalle DirectX, non tanto come parco funzionalita' ( anche in quello comunque )


Cioè? Quali sono le funzionalità che mancano?

ma soprattutto come supporto hardware e programmatori esperti.


Qual è l'hardware che non supporta OpenGL ma supporta Direct3D?

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".

La discussione è consultabile anche qui, sul forum.
 
^