Microsoft permettendo, pare che sul fronte del Web 3D non ci saranno conflitti tra i vari produttori di browser. Google ha infatti deciso di subordinare la sua tecnologia O3D a quella WebGL , uno standard di Khronos Group che può già contare sull’appoggio di Mozilla, Apple, Opera e i due principali produttori di GPU, AMD e Nvidia.
In questo post due ingegneri di Google, Matt Papakipos e Vangelis Kokkevis, hanno spiegato che d’ora in avanti O3D non verrà più implementato come plugin indipendente ma come libreria JavaScript per WebGL : in altre parole, O3D diverrà una sorta di estensione per WebGL che metterà a disposizione degli sviluppatori certe caratteristiche avanzate.
Google prevede di aggiornare il codice del plugin O3D ancora per un anno, dopodiché ne cesserà del tutto lo sviluppo e si focalizzerà esclusivamente nel migliorare l’implementazione JavaScript della propria tecnologia per il Web 3D.
“Non abbiamo preso questa decisione a cuor leggero. Quando abbiamo iniziato a discutere su WebGL temevamo che JavaScript fosse troppo lento per gestire una API a basso livello come OpenGL ed eravamo convinti che un approccio di più alto livello, come quello da noi usato in O3D, avrebbe portato a migliori risultati” si legge nel succitato post. “Eravamo anche consapevoli del fatto che su molte macchine Windows manchino i driver OpenGL, un problema che potrebbe ostacolare la diffusione di WebGL”.
Queste riflessioni risalgono a quasi un anno fa: nel frattempo le perplessità nutrite all’epoca da Google sono state superate o quanto meno mitigate . Innanzitutto i motori JavaScript dei browser sono diventati notevolmente più veloci ed efficienti, riducendo drasticamente il gap prestazionale che i programmi JavaScript pagano nei confronti di quelli scritti in C++ (come O3D Plugin) o in altri linguaggi compilati. A tal proposito, Papakipos e Kokkevis affermano di essere rimasti “molto impressionati” dalle demo create dagli sviluppatori di WebGL.
Per quanto riguarda invece la diffusione non capillare dei driver OpenGL, Google sta cercando di metterci una pezza con lo sviluppo di ANGLE , un componente capace di convertire OpenGL nei rispettivi comandi Direct3D di Windows. Una volta completato, ANGLE renderà superflua la presenza di un driver OpenGL nel sistema .
Affinché WebGL divenga uno standard universale, però, manca ancora il supporto da parte di Microsoft . BigG spera che prima o poi anche BigM abbracci questa specifica, ma nel frattempo sta lavorando a un workaround: aggiungere il supporto di WebGL al suo Chrome Frame , un plugin capace di far girare il motore di Chrome all’interno di Internet Explorer.
Tale soluzione, però, piacerà poco a Mozilla e ancor di meno a Microsoft, le quali lo scorso anno avevano già espresso le loro critiche rispetto a Chrome Frame. Henry Bridge, un programmatore di Google, ha detto che è stata presa in considerazione anche l’idea di sviluppare un plugin O3D/WebGL per IE, ma dal momento che sarebbe necessario implementare anche altre API, come quelle Audio e WebSockets, tale plugin finirebbe per diventare qualcosa di non molto diverso da Chrome Frame.
Infine, Papakipos e Kokkevis ammettono che “non tutte le funzionalità di O3D possono essere implementate puramente in JavaScript”, e per tale ragione lavoreranno affinché “queste funzionalità, e tutte le caratteristiche necessarie a fornire contenuti 3D di alta qualità” vengano implementate direttamente nel browser : un tale approccio renderebbe però Chrome l’unico browser capace di sfruttare appieno le caratteristiche della specifica di Google, rischiando di vanificare gli sforzi fatti nell'”agganciare” O3D a WebGL.
Sebbene l’implementazione JavaScript di O3D sia soltanto ai suoi esordi, gli sviluppatori interessati al progetto possono già scaricarne una copia dall’ home page del progetto : qui si trovano anche una guida su come convertire le preesistenti applicazioni O3D per la nuova libreria JavaScript, alcuni esempi di codice e i link a cui segnalare eventuali bug.
Alessandro Del Rosso