WebXR – The Web Extended Reality Technology Solution (Web XR)
Published on: December 27, 2021 / Update from: February 23, 2022 - Author: Konrad Wolfenstein
WebXR is a JavaScript programming interface (API) that allows applications to interact with augmented reality and virtual reality devices such as HTC Vive, Oculus Rift, Google Cardboard, or Open Source Virtual Reality (OSVR) in a web browser. The WebXR API is specified by a set of W3C specifications and is collaboratively managed by two groups, the Immersive Web Community Group and the Immersive Web Working Group.
In 2018, the WebXR API replaced WebVR as it was designed for both augmented reality and virtual reality devices. WebVR was implemented in Firefox and Chromium based browsers before it was deprecated and removed. On September 24, 2018, the Immersive Web Working Group became official.
This makes WebXR the new API standard for web developers, allowing them to create VR or AR applications without having to work directly with the respective hardware. Users can use just a web browser to view VR/AR content without having to install additional plugins or software.
What you should know about WebXR, WebVR or WebAR!
The next revolutionary step in digitalization?
In short: It can be a QR code or an image that is linked to this WebXR, WebVR or WebAR technology. You hold your smartphone over the QR code or image, scan it and CAD or 3D product models are immediately displayed in the web browser. Further additional information can also be displayed here. Depending on the WebXR 3D modeling, you are not passive here, but can interact in this 3D world.
In the desktop version you can view and interact with the 3D visualization in the browser via a link.
The forerunner: WebVR - Web Virtual Reality
WebVR was an experimental JavaScript API that was only capable of representing virtual reality. It was replaced by WebXR.
This API was developed with the following goals in mind:
- Detecting available virtual reality devices
- Query the capabilities of the device
- Query the position and orientation of the device
- Display images on the device at the appropriate frame rate
The WebVR API was first developed for Mozilla in spring 2014 by Vladimir Vukićević. Contributors to the API include Brandon Jones, Boris Smus, and other members of the Mozilla team. On March 1, 2016, the Mozilla VR team and the Google Chrome team announced the release of version 1.0 of the WebVR API proposal. The resulting API refactoring brought many improvements to WebVR.
The last marked version is 1.1, last edited on April 5, 2017. The document's editors include members of the Mozilla and Google teams. However, some members of Microsoft have joined in and are actively working on the WebVR API version 2.0 design process.
The WebVR API
The WebVR API provided some new interfaces (e.g. VR Display, VR Pose) that allowed web applications to display content in virtual reality by using WebGL with the necessary camera settings and device interactions (e.g. Controller or Point of View). The API is designed to follow a specific path that is very similar to other intrusive web APIs such as the Geolocation API. The necessary steps are:
- Query a list of available VR devices
- Check whether the desired device supports the display modes required by the application
- If yes, the application offers the VR functionality to the user
- The user performs an action indicating that they want to switch to VR mode
- Request a VR session to present VR content
- Start a rendering loop that produces graphical frames that are displayed on the VR device
- Production of frames continues until the user indicates that they want to exit VR mode
- End the VR session
WebVR 1.0 was supported in the release version of Firefox 55+ for Windows (64-bit version only) and was used by Chrome for Android until version 80 as an origin trial experiment, which meant that developers could request a token that they to your website to seamlessly enable WebVR. WebVR 1.1 was supported in Microsoft Edge from build 15002+ and in Samsung Internet, Chromium, Servo and Oculus Carmel.
Chrome for Windows supports WebVR 1.1 in a special build. Firefox 55+ on macOS also supported WebVR when a setting was enabled by the user.
Although WebVR is unique as an API, there are native applications on most devices that enable connected experiences and access to web content. Several major tools such as Unity and Blender can also export for the web, giving users a way to consume their content without installing a special application.
WebGL
WebGL (short for Web Graphics Library) is a JavaScript API for displaying interactive 2D and 3D graphics in a hardware-accelerated manner in any compatible web browser without the use of plugins. WebGL is fully integrated with other web standards and enables GPU-accelerated use of image processing and effects as part of web page rendering. WebGL elements can be mixed with other HTML elements and composed with other parts of the page or the page background.
WebGL programs consist of control codes written in JavaScript and shader codes written in OpenGL ES Shading Language (GLSL ES), a language similar to C or C++, that runs on a computer's graphics processing unit (GPU). . WebGL is developed and maintained by the non-profit Khronos Group.
In early 2009, the non-profit technology consortium Khronos Group founded the WebGL working group, which initially included Apple, Google, Mozilla, Opera and others. Version 1.0 of the WebGL specification was released in March 2011.
On March 3, 2011, the first version of the WebGL specification was released at the Game Developers Conference in San Francisco. In March 2011, WebGL was supported by Google's Chrome web browser and Mozilla's Firefox and was otherwise enabled by default in browser pre-release versions of Apple Safari and Opera.
In November 2011, the Angle project (which stands for Almost Native Graphics Layer Engine), presented by Google in March 2011, was certified for OpenGL ES Version 2.0, making it possible to create cross-platform applications with WebGL support for, among other things, the three best-known operating system platforms - Windows, Mac and Linux – to develop.
One of the first applications of WebGL was Zygote Body. In November 2012, Autodesk announced that they had ported most of their applications to the cloud, running on local WebGL clients. These applications include Fusion 360 and AutoCAD 360.
Development of the WebGL 2 specification began in 2013 and was completed in January 2017. This specification is based on OpenGL ES 3.0. The first implementations can be found in Firefox 51, Chrome 56 and Opera 43.
W3C has been working on the successor WebGPU since 2017.
WebGPU
WebGPU is the working title of a future web standard and JavaScript API for hardware-related, accelerated graphics and compute calculations with the aim of replacing WebGL. Development takes place in the W3C GPU for the Web Community Group by software engineers from Apple, Mozilla, Microsoft, Google and others.
In contrast to WebGL, which was based on OpenGL ES, WebGPU is not a direct port of an existing graphics interface. However, it is based on the concepts of the hardware-related interfaces Vulkan, Metal and Direct3D 12. Both mobile devices and desktop platforms should benefit from the speed gains.
On February 7, 2017, Apple's WebKit team presented a proof of concept including ideas for a standard called "WebGPU", based on its own "Metal" interface. In addition, it was suggested to found a W3C Community Group.
The W3C “GPU for the Web” Community Group began its work on February 16, 2017. At this point, there were already experiments from Apple, Google and Mozilla, but only Apple had an official proposal. On March 21, 2017, Mozilla followed with its own proposal for the WebGPU standard.
On June 1, 2018, the developers behind Google's Chrome browser announced that they had agreed on the most important aspects and now plan to implement the standard in the future.
The name “WebGPU” was later taken up by the community group as a working title for an open standard. The original Apple presentation was renamed “Web-Metal” to avoid confusion.
Matching PDF libraries:
Are you looking for technical and strategic support for your extended reality web solutions? Xpert.Digital supports you!
I would be happy to serve as your personal consultant for extended reality solutions.
You can contact me by filling out the contact form below or simply call me on +49 89 89 674 804 (Munich) .
I'm looking forward to our joint project.
Xpert.Digital – Konrad Wolfenstein
Xpert.Digital is a hub for industry with a focus on digitalization, mechanical engineering, logistics/intralogistics and photovoltaics.
With our 360° business development solution, we support well-known companies from new business to after sales.
Market intelligence, smarketing, marketing automation, content development, PR, mail campaigns, personalized social media and lead nurturing are part of our digital tools.
You can find out more at: www.xpert.digital – www.xpert.solar – www.xpert.plus