WebGL

libreria grafica per il web

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.

Logo di WebGL

Panoramica

modifica

WebGL si basa su OpenGL ES 2.0 e fornisce un'interfaccia di programmazione per la grafica 3D. Usa l'elemento Canvas HTML5 e vi si accede attraverso le interfacce Document Object Model.

Librerie di sviluppo

modifica

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

modifica

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

modifica

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

Framework WebGL

modifica

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 No No Nativo (2.0) .gltf, .glb, .fbx, .obj, .ply, .dae .wasm, .bin, .html, .js Proprietario
Verge3D JavaScript No Nativo (1.0) FBX, OBJ, STL glTF Proprietario
Unity C # .NET trasferito in Wasm (1.0 e 2.0) FBX, OBJ Proprietario
A-Frame JavaScript No No No Nativo (1.0) OBJ, COLLADA, componenti della comunità per glTF, FBX, three.js HTML, three.js Licenza MIT
Three.js JavaScript No No No Nativo (1.0 e 2.0) glTF, DRACO, FBX, OBJ, STL, MMD, PRWM, PCD, PDB OBJ, glTF, PLY, Collada MIT
Sketchfab JavaScript No No No No Nativo (1.0) .3dc, .3ds, .ac, .abc, .obj, .bvh, .blend, .geo, .dae, .dwf, .dw, .x, .dxf, .fbx, .ogr, .gta, .gltf , .igs, .mu, .craft, .kmz, .las, .lwo, .q3d, .mc2obj, .flt, .iv, .osg, .ply, .bsp, .md2, .mdl, .shp,. stl, .txp, .vpk, .wrl, .vrml No Proprietario
PlayCanvas JavaScript No Nativo (1.0 e 2.0) .dae, .dxf, .fbx, .gltf, .glb, .obj No MIT (motore), proprietario (editor ospitato su cloud)
OSG.JS JavaScript No No No Nativo (1.0) No No MIT
LayaAir ActionScript 3.0 , JavaScript , TypeScript No No No Native, implementa anche canvas2D (1.0) FBX No Open source (motore), proprietario (conversione del modello)
Kubity No No No No No .NET traspilato (1.0) No No Proprietario
JanusWeb JavaScript No Nativo (1.0) OBJ, COLLADA, glTF, FBX, STL, PLY, VRML HTML, XML, JSON Licenza MIT
CopperLicht JavaScript No No Nativo (1.0) No No Open source basato su zlib
Clara.io JavaScript , API REST No No Nativo (1.0) OBJ, FBX, Blend, STL, STP OBJ, FBX, Blend, STL, Babylon.js, Three.js Freemium o commerciale
Babylon.js JavaScript , TypeScript No No Nativo (1.0 e 2.0) OBJ, FBX, STL, Babylon, glTF Tutti i formati supportati da Blender e 3dsMax (esportatori disponibili) Licenza Apache 2.0
Away3D Dattiloscritto No No Flash transpiled (1.0) No No Licenza Apache 2.0
  1. ^ First WebGLU release, su bjartr.blogspot.com. URL consultato il 5 maggio 2019 (archiviato dall'url originale il 22 giugno 2018).
  2. ^ Guida per il 3D nei browser – WebGL Contro CSS 3D Transforms, su WE RAD, 5 maggio 2017. URL consultato il 29 gennaio 2021.
  3. ^ (EN) Pratik, 10+ CSS 3D Transforms Example With Code Snippets, su OnAirCode, 27 marzo 2018. URL consultato il 29 gennaio 2021.
  4. ^ Step inside the map with Google MapsGL, su googleblog.blogspot.in, Google official blog. URL consultato il 15 dicembre 2012.
  5. ^ MapsGL, su support.google.com, Google Maps. URL consultato il 15 dicembre 2012.
  6. ^ Roni Zeiger, Google Body becomes Zygote Body; built on open source 3D viewer, in Google Open Source blog, Google, 9 gennaio 2012. URL consultato il 27 gennaio 2012.

Altri progetti

modifica

Collegamenti esterni

modifica
  • (EN) Sito ufficiale, su khronos.org.  
  • Corso su WebGL in italiano, su html5today.it. URL consultato il 25 marzo 2011 (archiviato dall'url originale il 23 marzo 2011).
  • (EN) GLGE, su glge.org. URL consultato il 20 febbraio 2022 (archiviato dall'url originale il 3 marzo 2022).
  • (EN) SpiderGL, su spidergl.org.
Controllo di autoritàLCCN (ENsh2013000391 · J9U (ENHE987007602372005171