|
|
Khronos Group rilascia le specifiche OpenGL 3.1
Andrea Bai 26 Marzo 2009, alle 09:39 Schede Video Rilasciate le nuove specifiche per le API di programmazione delle moderne schede acceleratrici 3D
|
|
|
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. |
|
|
|
|
 |
|
 |
Commenti (12)
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - Info
Per contattare l'autore del pezzo, così da avere una risposta rapida, si prega di utilizzare l'email personale (vedere in alto sotto il titolo). Non è detto che una domanda diretta inserita nei commenti venga verificata in tempi rapidi. In alternativa contattare la redazione a questo indirizzo email. |
| Commento # 1
di: daywatch85
pubblicato il 26 Marzo 2009, 09:49 |
Qualche buona anima che programma un gioco in opengl 3.1??? Ci spero tanto...
|
|
 |
 |
| Commento # 2
di: Mercuri0
pubblicato il 26 Marzo 2009, 10:02 |
| 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  |
|
 |
 |
| Commento # 3
di: Eraser|85
pubblicato il 26 Marzo 2009, 10:04 |
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 :| |
|
 |
 |
| Commento # 4
di: Pikazul
pubblicato il 26 Marzo 2009, 10:27 |
| 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 ?) |
|
 |
 |
| Commento # 6
di: Norskeningia
pubblicato il 26 Marzo 2009, 10:55 |
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. |
|
 |
 |
| Commento # 7
di: Gaz
pubblicato il 26 Marzo 2009, 11:02 |
| 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). |
|
 |
 |
| Commento # 9
di: zarko
pubblicato il 26 Marzo 2009, 11:24 |
| 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. |
|
 |
 |
| Commento # 10
di: mjordan
pubblicato il 26 Marzo 2009, 14:38 |
| 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? |
|
 |
 |
|
|
|
|
|
Consiglia Hardware Upgrade su Google
|
|
Qualche buona anima che programma un gioco in opengl 3.1??? Ci spero tanto...