WebXR – La soluzione tecnologica per la realtà estesa del Web (Web XR)
Pubblicato il: 27 dicembre 2021 / Aggiornamento del: 23 febbraio 2022 - Autore: Konrad Wolfenstein
WebXR è un'interfaccia di programmazione JavaScript (API) che consente alle applicazioni di interagire con dispositivi di realtà aumentata e realtà virtuale come HTC Vive, Oculus Rift, Google Cardboard o Open Source Virtual Reality (OSVR) in un browser web. L'API WebXR è specificata da una serie di specifiche W3C ed è gestita in modo collaborativo da due gruppi, l'Immersive Web Community Group e l'Immersive Web Working Group.
Nel 2018, l'API WebXR ha sostituito WebVR poiché è stata progettata sia per i dispositivi di realtà aumentata che per quelli di realtà virtuale. WebVR è stato implementato nei browser basati su Firefox e Chromium prima di essere deprecato e rimosso. Il 24 settembre 2018 è diventato ufficiale l’Immersive Web Working Group.
Ciò rende WebXR il nuovo standard API per gli sviluppatori web, consentendo loro di creare applicazioni VR o AR senza dover lavorare direttamente con il rispettivo hardware. Gli utenti possono utilizzare solo un browser Web per visualizzare contenuti VR/AR senza dover installare plug-in o software aggiuntivi.
Cosa dovresti sapere su WebXR, WebVR o WebAR!
Il prossimo passo rivoluzionario nella digitalizzazione?
In breve: può essere un codice QR o un'immagine collegata a questa tecnologia WebXR, WebVR o WebAR. Tieni il tuo smartphone sul codice QR o sull'immagine, esegui la scansione e i modelli di prodotto CAD o 3D vengono immediatamente visualizzati nel browser web. Ulteriori informazioni aggiuntive possono essere visualizzate anche qui. A seconda della modellazione 3D WebXR, qui non sei passivo, ma puoi interagire in questo mondo 3D.
Nella versione desktop è possibile visualizzare e interagire con la visualizzazione 3D nel browser tramite un collegamento.
Il precursore: WebVR - Realtà Virtuale sul Web
WebVR era un'API JavaScript sperimentale in grado di rappresentare solo la realtà virtuale. È stato sostituito da WebXR.
Questa API è stata sviluppata tenendo presente i seguenti obiettivi:
- Rilevamento dei dispositivi di realtà virtuale disponibili
- Interrogare le capacità del dispositivo
- Interrogare la posizione e l'orientamento del dispositivo
- Visualizza le immagini sul dispositivo al frame rate appropriato
L'API WebVR è stata sviluppata per la prima volta per Mozilla nella primavera del 2014 da Vladimir Vukićević. I contributori all'API includono Brandon Jones, Boris Smus e altri membri del team Mozilla. Il 1 marzo 2016, il team Mozilla VR e il team Google Chrome hanno annunciato il rilascio della versione 1.0 della proposta API WebVR. Il conseguente refactoring dell'API ha apportato molti miglioramenti a WebVR.
L'ultima versione contrassegnata è la 1.1, modificata l'ultima volta il 5 aprile 2017. I redattori del documento includono membri dei team Mozilla e Google. Tuttavia, alcuni membri di Microsoft si sono uniti e stanno lavorando attivamente al processo di progettazione della versione 2.0 dell'API WebVR.
L'API WebVR
L'API WebVR ha fornito alcune nuove interfacce (ad esempio VR Display, VR Pose) che consentivano alle applicazioni Web di visualizzare contenuti nella realtà virtuale utilizzando WebGL con le necessarie impostazioni della fotocamera e interazioni del dispositivo (ad esempio Controller o Punto di vista). L'API è progettata per seguire un percorso specifico molto simile ad altre API Web intrusive come l'API di geolocalizzazione. I passaggi necessari sono:
- Richiedi un elenco di dispositivi VR disponibili
- Verificare se il dispositivo desiderato supporta le modalità di visualizzazione richieste dall'applicazione
- In caso affermativo, l'applicazione offre all'utente la funzionalità VR
- L'utente esegue un'azione indicando che desidera passare alla modalità VR
- Richiedi una sessione VR per presentare contenuti VR
- Avvia un ciclo di rendering che produce fotogrammi grafici visualizzati sul dispositivo VR
- La produzione di fotogrammi continua finché l'utente non indica di voler uscire dalla modalità VR
- Termina la sessione VR
WebVR 1.0 era supportato nella versione di rilascio di Firefox 55+ per Windows (solo versione a 64 bit) ed era utilizzato da Chrome per Android fino alla versione 80 come esperimento di prova sull'origine, il che significava che gli sviluppatori potevano richiedere un token per accedere al tuo sito web per abilitare senza problemi WebVR. WebVR 1.1 era supportato in Microsoft Edge dalla build 15002+ e in Samsung Internet, Chromium, Servo e Oculus Carmel.
Chrome per Windows supporta WebVR 1.1 in una build speciale. Firefox 55+ su macOS supportava anche WebVR quando un'impostazione veniva abilitata dall'utente.
Sebbene WebVR sia un'API unica, sulla maggior parte dei dispositivi sono presenti applicazioni native che consentono esperienze connesse e accesso ai contenuti Web. Diversi strumenti importanti come Unity e Blender possono anche essere esportati per il web, offrendo agli utenti la possibilità di consumare i propri contenuti senza installare un'applicazione speciale.
WebGL
WebGL (abbreviazione di Web Graphics Library) è un'API JavaScript per la visualizzazione di grafica 2D e 3D interattiva con accelerazione hardware in qualsiasi browser Web compatibile senza l'uso di plug-in. WebGL è completamente integrato con altri standard web e consente l'uso accelerato dalla GPU dell'elaborazione delle immagini e degli effetti come parte del rendering della pagina web. Gli elementi WebGL possono essere mescolati con altri elementi HTML e composti con altre parti della pagina o con lo sfondo della pagina.
I programmi WebGL sono costituiti da codici di controllo scritti in JavaScript e codici shader scritti in OpenGL ES Shading Language (GLSL ES), un linguaggio simile a C o C++, che viene eseguito sull'unità di elaborazione grafica (GPU) di un computer. WebGL è sviluppato e gestito dal gruppo no-profit Khronos.
All'inizio del 2009, il consorzio tecnologico senza scopo di lucro Khronos Group ha fondato il gruppo di lavoro WebGL, che inizialmente comprendeva Apple, Google, Mozilla, Opera e altri. La versione 1.0 della specifica WebGL è stata rilasciata nel marzo 2011.
Il 3 marzo 2011, la prima versione delle specifiche WebGL è stata rilasciata alla Game Developers Conference di San Francisco. Nel marzo 2011, WebGL era supportato dal browser Web Chrome di Google e da Firefox di Mozilla ed era altrimenti abilitato per impostazione predefinita nelle versioni pre-release del browser di Apple Safari e Opera.
Nel novembre 2011 il progetto Angle (che sta per Almost Native Graphics Layer Engine), presentato da Google nel marzo 2011, è stato certificato per OpenGL ES versione 2.0, rendendo possibile la creazione di applicazioni multipiattaforma con supporto WebGL, tra le altre cose , le tre piattaforme di sistemi operativi più conosciute – Windows, Mac e Linux – da sviluppare.
Una delle prime applicazioni di WebGL è stata Zygote Body. Nel novembre 2012, Autodesk ha annunciato di aver portato la maggior parte delle proprie applicazioni sul cloud, in esecuzione su client WebGL locali. Queste applicazioni includono Fusion 360 e AutoCAD 360.
Lo sviluppo della specifica WebGL 2 è iniziato nel 2013 ed è stato completato nel gennaio 2017. Questa specifica è basata su OpenGL ES 3.0. Le prime implementazioni si trovano in Firefox 51, Chrome 56 e Opera 43.
Il W3C lavora sul successore WebGPU dal 2017.
WebGPU
WebGPU è il titolo provvisorio di un futuro standard web e API JavaScript per grafica accelerata e calcoli di calcolo legati all'hardware con l'obiettivo di sostituire WebGL. Lo sviluppo avviene nella GPU W3C per il Web Community Group da ingegneri software di Apple, Mozilla, Microsoft, Google e altri.
A differenza di WebGL, che si basa su OpenGL ES, WebGPU non è una porta diretta di un'interfaccia grafica esistente. Tuttavia, si basa sui concetti delle interfacce hardware Vulkan, Metal e Direct3D 12. Sia i dispositivi mobili che le piattaforme desktop dovrebbero beneficiare dell'aumento di velocità.
Il 7 febbraio 2017, il team WebKit di Apple ha presentato una prova di concetto che include idee per uno standard chiamato "WebGPU", basato sulla propria interfaccia "Metal". Inoltre, è stato suggerito di fondare un gruppo comunitario W3C.
Il gruppo comunitario “GPU for the Web” del W3C ha iniziato i suoi lavori il 16 febbraio 2017. A questo punto c'erano già esperimenti da parte di Apple, Google e Mozilla, ma solo Apple aveva una proposta ufficiale. Il 21 marzo 2017 Mozilla ha presentato la propria proposta per lo standard WebGPU.
Il 1° giugno 2018 gli sviluppatori del browser Chrome di Google hanno annunciato di essersi accordati sugli aspetti più importanti e di voler implementare lo standard in futuro.
Il nome “WebGPU” è stato successivamente adottato dal gruppo della community come titolo provvisorio per uno standard aperto. La presentazione originale di Apple è stata ribattezzata “Web-Metal” per evitare confusione.
Librerie PDF corrispondenti:
Cerchi supporto tecnico e strategico per le tue soluzioni web di realtà estesa? Xpert.Digital ti supporta!
Sarei felice di fungere da tuo consulente personale per soluzioni di realtà estesa.
Potete contattarmi compilando il modulo di contatto qui sotto o semplicemente chiamandomi al numero +49 89 89 674 804 (Monaco) .
Non vedo l'ora di iniziare il nostro progetto comune.
Xpert.Digital – Konrad Wolfenstein
Xpert.Digital è un hub per l'industria con focus su digitalizzazione, ingegneria meccanica, logistica/intralogistica e fotovoltaico.
Con la nostra soluzione di sviluppo aziendale a 360° supportiamo aziende rinomate dal nuovo business al post-vendita.
Market intelligence, smarketing, marketing automation, sviluppo di contenuti, PR, campagne email, social media personalizzati e lead nurturing fanno parte dei nostri strumenti digitali.
Puoi saperne di più su: www.xpert.digital – www.xpert.solar – www.xpert.plus