WebGL
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
[modifica | modifica wikitesto]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 | modifica wikitesto]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 | modifica wikitesto]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 | modifica wikitesto]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
[modifica | modifica wikitesto]-
Auto
-
Viso umano
-
Ingranaggio
Framework WebGL
[modifica | modifica wikitesto]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 | HTML, three.js | Licenza MIT |
Three.js | JavaScript | No | sì | sì | No | No | sì | Nativo (1.0 e 2.0) | glTF, DRACO, FBX, OBJ, STL, MMD, PRWM, PCD, PDB | OBJ, glTF, PLY, Collada | MIT |
Sketchfab | JavaScript | No | sì | sì | 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 | sì | sì | sì | sì | sì | Nativo (1.0 e 2.0) | .dae, .dxf, .fbx, .gltf, .glb, .obj | No | MIT (motore), proprietario (editor ospitato su cloud) |
OSG.JS | JavaScript | No | sì | sì | No | No | sì | Nativo (1.0) | No | No | MIT |
LayaAir | ActionScript 3.0 , JavaScript , TypeScript | No | sì | sì | sì | No | No | Native, implementa anche canvas2D (1.0) | FBX | No | Open source (motore), proprietario (conversione del modello) |
Kubity | No | No | No | No | No | sì | sì | .NET traspilato (1.0) | No | No | Proprietario |
JanusWeb | JavaScript | No | sì | sì | sì | sì | sì | Nativo (1.0) | OBJ, COLLADA, glTF, FBX, STL, PLY, VRML | HTML, XML, JSON | Licenza MIT |
CopperLicht | JavaScript | No | sì | sì | No | sì | sì | Nativo (1.0) | No | No | Open source basato su zlib |
Clara.io | JavaScript , API REST | sì | sì | No | No | sì | sì | Nativo (1.0) | OBJ, FBX, Blend, STL, STP | OBJ, FBX, Blend, STL, Babylon.js, Three.js | Freemium o commerciale |
Babylon.js | JavaScript , TypeScript | No | sì | sì | No | sì | sì | 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 | sì | sì | No | sì | sì | Flash transpiled (1.0) | No | No | Licenza Apache 2.0 |
Note
[modifica | modifica wikitesto]- ^ First WebGLU release, su bjartr.blogspot.com. URL consultato il 5 maggio 2019 (archiviato dall'url originale il 22 giugno 2018).
- ^ Guida per il 3D nei browser – WebGL Contro CSS 3D Transforms, su WE RAD, 5 maggio 2017. URL consultato il 29 gennaio 2021.
- ^ (EN) Pratik, 10+ CSS 3D Transforms Example With Code Snippets, su OnAirCode, 27 marzo 2018. URL consultato il 29 gennaio 2021.
- ^ Step inside the map with Google MapsGL, su googleblog.blogspot.in, Google official blog. URL consultato il 15 dicembre 2012.
- ^ MapsGL, su support.google.com, Google Maps. URL consultato il 15 dicembre 2012.
- ^ 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 | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su WebGL
Collegamenti esterni
[modifica | modifica wikitesto]- (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 (EN) sh2013000391 · J9U (EN, HE) 987007602372005171 |
---|