WebGL è una libreria grafica per il web (Web-based Graphics Library). È un contesto di HTML che fornisce un'API di grafica 3D per i browser web. Le specifiche sono ancora in costruzione. WebGL è gestito dal Khronos Group, un'organizzazione non profit.
Panoramica
WebGL si basa su OpenGL ES 2.0 e fornisce un'interfaccia di programmazione per la grafica 3D. Usa l'elemento CanvasHTML5 e vi si accede attraverso le interfacce Document Object Model.
Librerie di sviluppo
Esistono diverse librerie per lo sviluppo di WebGL. La libreria WebGLU fu la prima disponibile pubblicamente[1]. Altre librerie che includono WebGL sono: Three.js, GLGE, C3DL, Copperlicht, SpiderGL, Pixi.js, SceneJS, Blend4Web, Verge3D, Processing.js e XB PointStream.
Confronto con CSS3
I CSS3 hanno introdotto la proprietà "3D Transform" che consente di creare alcune animazioni e forme in 3D ma non possono equiparare le possibilità di WebGL[2][3].
Google Chrome Experiments
Google Chrome Experiments è uno showroom online di esperimenti basati su browser web, programmi interattivi e progetti artistici. Lanciato il 1º marzo 2009, Google Chrome Experiments è un sito web ufficiale di Google che originariamente doveva testare i limiti di JavaScript e le prestazioni e le capacità del browser Google Chrome. Con il progredire del progetto, ha assunto il ruolo di mostrare e sperimentare le più recenti tecnologie open source basate sul web, come JavaScript , HTML5, WebGL, Canvas, SVG, CSS e altri. Tutti i progetti vengono inviati dagli utenti e realizzati utilizzando tecnologie open source.
WebGL è una delle tecnologie più comunemente utilizzate sul sito. La tecnologia ha anche guadagnato un uso attivo in app online famose e utili come Google Maps, e Zygote Body (ex Google Body)[4][5][6].
Esempi
Auto
Viso umano
Ingranaggio
Framework WebGL
Sono disponibili framework per creare contenuti WebGL senza dover costruire la struttura da zero.
Nota: il seguente elenco combina le librerie WebGL con motori di gioco e servizi Cloud senza alcuna distinzione.
Nome
Scripting
Modellazione
Animazione
Audio integrato
Networking integrato
Fisiche
integrate
Cloud
Implementazione
WebGL
Importazione
Esportazione
Licenza
Wonderland Engine
JavaScript
No
sì
sì
No
No
sì
Nativo (2.0)
.gltf, .glb, .fbx, .obj, .ply, .dae
.wasm, .bin, .html, .js
Proprietario
Verge3D
JavaScript
sì
sì
sì
No
sì
sì
Nativo (1.0)
FBX, OBJ, STL
glTF
Proprietario
Unity
C #
sì
sì
sì
sì
sì
sì
.NET trasferito in Wasm (1.0 e 2.0)
FBX, OBJ
Proprietario
A-Frame
JavaScript
No
sì
sì
No
No
sì
Nativo (1.0)
OBJ, COLLADA, componenti della comunità per glTF, FBX, three.js