OpenGL



È con grande tristezza e con un po’ di ritardo che oggi vi annuncio l’uscita delle tanto attese OpenGL 3.0.

Vi ho parlato di come Direct3D di microsoft avesse vinto la battaglia con OpenGL in passato. Una storia da cui OpenGL esce sconfitta ma a testa alta.

Oggi le cose stanno ben diversamente da allora!

OpenGL 3.0 era la speranza degli utenti Linux e Mac ma non solo! Migliaia di sviluppatori di giochi e applicazioni 3D attendevano questo rilascio che prometteva importanti cambiamenti strutturali alle specifiche!

L’ARB aveva promesso, ad esempio, un’API orientata agli oggetti, seppur ancora basata su C. Un rifacimento quasi completo della struttura e molte altre cose.

OpenGL 3.0 avrebbe dovuto uscire molto tempo fa ma la sua uscita è stata rimandata più volte. Chiedendo informazioni nel canale ufficiale di OpenGL si poteva essere, con egual probabilità, ignorati o invitati a “non rompere i maroni, quando esce esce! Guarda il sito“.

Ebbene non ho più “rotto i maroni”, fiducioso. Guardando oggi il sito di opengl effettivamente un bell’annuncio indica che la specifica OpenGL 3.0 è pronta ed è liberamente consultabile e scaricabile.

Il problema è che quest’API che doveva sbaragliare Direct3D di microsoft surclassando DirectX10 si è invece rivelata un’immensa delusione!

La maggior parte delle modifiche promesse non sono state implementate.

Capiamoci! OpenGL 3.0 implementa lo stato dell’arte delle schede video! Quindi è pari a DirectX10 (direct3d), e forse anche superiore, per quanto riguarda le feature implementabili! Ci sono i Vertex Shader, gli shader sono stati migliorati, vi sono diverse altre caratteristiche delle più moderne schede video. Però la release non ha nulla di radicalmente diverso da OpenGL 2.1. Sono in molti a dire che poteva essere taggata OpenGL 2.2 ed uscire molto molto tempo fa!

Gli sviluppatori che hanno tanto atteso la riscrittura delle API sono DECISAMENTE INCAZZATI, altri semplicemente amareggiati o delusi.

A cosa è dovuta ufficialmente questa scelta? Apparentemente non si è voluto rompere la compatibilità con alcune applicazioni CAD. Ebbene si! OpenGL è ancora leader nel campo CAD e l’ARB non ha voluto rischiare di perdere questa leadership: ha preferito abbandonare ogni possibilità di attirare il mercato videoludico; mercato più avanzato tecnologicamente e caratterizzato da una rapida evoluzione.

Resterà quindi DirectX di microsoft a far strada sui videogiochi.. Ovviamente solo sui sistemi operativi redmond.

L’ARB dimostra incapacità a prendere decisioni importanti, sordità alla community di sviluppatori, atteggiamento non lungimirante e senza progetti per il futuro se non quelli di mantenere le cose come stanno ora. Si rassegna a seguire microsoft DirectX con qualche mese di ritardo invece di provare a trascinare il mercato dell’hardware grafico con innovazioni e scelte importanti.

Questo significa che le speranze per gli utenti non-windows come me di poter un giorno giocare nel proprio sistema operativo si spengono tristemente.

Mi restano solo alcune domande a cui non so dare risposta.

Perché rimandare così a lungo se poi non è stata riscritta tutta la API? Almeno potevano rilasciare subito e accaparrarsi così parte del mercato nel passaggio DirectX10/Vista. Scelta strategica suicida?

Perché rilasciare l’11 di agosto in assoluto silenzio? A pochi giorni da ferragosto, quando molti sono in vacanza, senza un minimo di pubblicità o un qualche tentativo far notizia?!? A che gioco stanno giocando?

Perché non rispondono alle critiche se non per chiedere di moderare il linguaggio? È come se “se lo aspettassero” e avessero deciso in anticipo di tenere questa linea.

A questo punto aveva più senso creare un API apposita per i giochi e lasciare che i CADisti utilizzassero l’API retro-compatibile e vecchia.

Vorrei tanto poter dar risposta alle mie domande ipotizzando che dietro a tutti ci sia stata Microsoft ma non penso che questa volta le si possa dare colpa.

Sono amareggiato.


I driver nvidia su Linux hanno fatto passi da gigante e ormai ottengono prestazioni migliori che quelli di Windows Vista!!!

Uno dei benchmark, quello con i risultati migliori!
Questo è uno dei benchmark che confrontano le prestazioni di una scheda grafica nVidia su Ubuntu 8.04 alpha 5, solaris e Vista. Questo particolare test è quello che ha ottenuto i migliori risultati, per gli altri il distacco è meno evidente ma è comunque SEMPRE in vantaggio Ubuntu.

In altre parole.. a chi dice che Linux non è pronto per il mercato dei videogame voglio solo rispondere così: PRRRRRRRRRRRRRRR!

Abbiate pazienza.. non è una gran finezza però DirectX 10 era una delle poche caratteristiche di punta di Windows Vista e DirectX 10 apporta principalmente migliorie alla grafica 3d implementando gli ultimi ritrovati nel campo delle schede video!

Tra parentesi le stesse cose che fa DirectX 10 le fa anche OpenGL.. con le estensioni (si dessero una mossa a rilasciare sta benedetta specifica OpenGL 3.0 sarebbe anche ora!!)

E poi considerato come DirectX ha vinto su OpenGL sarebbe giusto se OpenGL tornasse in voga!


Tempo fa ho riassunto gli eventi che ci hanno portato oggi al dominio di DirectX come standard per i giochi rispetto ad OpenGL..

si tratta di storia: storia dell’informatica ma sempre storia!

E un testo un po’ lungo ma molto istruttivo; è diviso per eventi descritti senza commenti di parte.

la mia fonte è un libro stampato:

OpenGL® SuperBible, Third Edition
By Richard S. Wright Jr., Benjamin Lipchak

che consiglio a chi vuole studiarsi la grafica 3D imparando con l’OpenGL

Io sono evidentemente di parte (OpenGL): nonostante questo i fatti descritti non lo sono. Potete trovarne riscontro e conferme facilmente.

Questo che racconto è un esempio utile per capire come si fa strada Microsoft nel mercato e il perché certa gente, me compreso, ha poca fiducia in questa compagnia e sostiene con forza le alternative.

Oggi lo standard per i giochi potrebbe essere OpenGL: anche Linux e Mac avrebbero gli ultimi giochi per computer! Se vuoi capire perché questo non è successo prosegui nella lettura degli avvenimenti che ci hanno portato al “dominio” di DirectX

(altro…)