Jump to content

WebXR

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by SantaWinsAgain (talk | contribs) at 11:35, 2 March 2019 (→‎Notable uses: added Verge3D offering WebVR support as of version 2.10). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

WebVR is an experimental JavaScript application programming interface (API) that provides support for virtual reality devices, such as the HTC Vive, Oculus Rift, Google Cardboard or OSVR in a web browser.[1]

This API is designed with the following goals in mind:[2]

  • Detect available Virtual Reality devices.
  • Query the devices capabilities.
  • Poll the device’s position and orientation.
  • Display imagery on the device at the appropriate frame rate.

History

WebVR was first conceived in spring 2014 by Vladimir Vukićević from Mozilla. The API's contributors include Brandon Jones, Boris Smus and others from the Mozilla team.[3] On March 1, 2016, the Mozilla VR team and the Google Chrome team announced the version 1.0 release of the WebVR API proposal. The resulting API refactoring brought many improvements to WebVR.[4]

The last tagged version is 1.1,[5] which was last edited on April 5, 2017. The editors of the document include members from Mozilla and Google teams. However some Microsoft members have joined, and are actively collaborating in the drafting process of version 2.0 for the WebVR API.[6]

Design

The WebVR API exposes a few new interfaces (such as VR Display, VR pose) that allow web applications to present content in virtual reality, by using WebGL with the necessary camera settings and device interactions (such as controllers or point of view). The API has been designed to follow a certain path, which is very similar to other intrusive Web API like the Geolocation API. The necessary steps are:

  1. Request a list of the available VR devices.
  2. Checks to see if the desired device supports the presentation modes the application needs.
  3. If so, application advertises VR functionality to the user.
  4. User performs an action that indicates they want to enter VR mode.
  5. Request a VR session to present VR content with.
  6. Begin a render loop that produces graphical frames to be displayed on the VR device.
  7. Continue producing frames until the user indicates that they wish to exit VR mode.
  8. End the VR session.

Support

WebVR 1.0 is currently supported in the release version of Firefox 55+ for Windows (64 bit version only)[7] and in Chrome for Android[8] as an Origin Trial Experiment, which means that developers can request a token to add to their website which will seamlessly enable WebVR. WebVR 1.1 is supported in Microsoft Edge from build 15002+[9], 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 supports WebVR if a setting is enabled by the user.[7]

Supermedium was released in 2018 as a pure VR browser solely for WebVR content, supporting desktop VR headsets.[10]

Notable uses

Below are some notable companies or projects related to WebVR:

  • Supermedium is pure VR browser for Web-based VR content.[10]
  • IdeaSpaceVR is an open source content management system with an API to create VR themes in order to create, publish and manage VR experiences.[11]
  • Rodin (VR) enables creation and deployment of virtual reality experiences cross-platform using just JavaScript.[12]
  • JanusVR JanusVR is a suite of software that makes it simple to create, share and experience spatially rich internet content.[13]
  • A-Frame (VR) is an open-source web framework for building VR experiences with HTML.[14]
  • Archilogic has successfully used WebVR to produce 3D models that can be visited in virtual reality.
  • Blend4Web is used for authoring WebVR-based applications such as heritage reconstruction and games.[15]
  • Kokowa: Kokowa is a webVR publishing platform aimed at non-programmers. It provides a drag and drop editor to build and share webVR experiences on the web and on social media.[16]
  • Goocreate: Goo Create is a cloud based 3D WebGL content creation editor. It can be used to create games, ads, campaign websites product showcases and scientific visualizations that run in a web browser.
  • PlayCanvas: PlayCanvas is an open source 3D game engine/interactive 3D application engine.
  • Vizor: Vizor is a platform for creating and sharing VR content on the web.
  • Sketchfab: allows people to display and share 3D content online. It provides a 3D model viewer that allows the display of 3D models on any mobile, desktop webpage or VR headset.
  • X3DOM: is an open-source framework and runtime for 3D graphics on the Web including WebVR. It leverages X3D, the current ISO open standard for web3D.[17]
  • Within: Extraordinary storytelling in Virtual Reality. Choose and watch many movies from the Within catalog in WebVR.[18]
  • Babylon.js is an WebGL/WebVR open-source framework used to build render interactive 3D experiences.[19]
  • Verge3D for 3ds Max / Blender offers WebVR support as of version 2.10. [20]
  • VRRollerCoaster.app is a WebVR roller coaster experience [21]
  • WebVR.Space enables users to explore a procedurally generated space universe with WebVR [22]

Similar technologies

Although WebVR is unique as an API, there are native applications on most hardware allowing for networked experiences and access to web content. Several key tools, such as Unity and Blender, are also able to export for the web and provide users a way to use their content without installing a dedicated application.

WebXR

In 2018, the WebXR API superseded WebVR, being designed for both augmented reality and virtual reality devices.[23][24]

See also

References

  1. ^ "WebVR API". Mozilla Developer Network. Retrieved 2015-11-04.
  2. ^ "w3c/webvr". GitHub. Retrieved 2017-04-08.
  3. ^ "WebVR - Bringing Virtual Reality to the Web". webvr.info. Retrieved 2016-07-08.
  4. ^ "Introducing the WebVR 1.0 API Proposal ★ Mozilla Hacks – the Web developer blog". hacks.mozilla.org. Retrieved 2016-07-08.
  5. ^ "WebVR". w3c.github.io. Retrieved 2017-04-08.
  6. ^ "WebVR". w3c.github.io. Retrieved 2017-04-08.
  7. ^ a b "Firefox 55: first desktop browser to support WebVR – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog.
  8. ^ "WebVR Rocks". WebVR Rocks.
  9. ^ mattwojo. "WebVR with Microsoft Edge - WebVR". docs.microsoft.com.
  10. ^ a b "SUPERMEDIUM - virtual reality browser". SUPERMEDIUM - virtual reality browser.
  11. ^ "IdeaSpaceVR". IdeaSpaceVR.org.
  12. ^ "Rodin: WebVR made easy". rodin.io.
  13. ^ "JanusVR: The World Inside the Web".
  14. ^ "A-Frame". aframe.io.
  15. ^ "Blend4Web 16.06 LTS Released". Blend4Web.com. Retrieved 2016-07-12.
  16. ^ "Want to Kick It With Putin in Your Own Virtual World? Kokowa Is for You". wired.com.
  17. ^ "X3DOM". x3dom.org.
  18. ^ "Within". Within.
  19. ^ "Babylon.js". Babylonjs.com.
  20. ^ "Verge3D 2.10 for Blender/3ds Max Released". Soft8Soft. 2019-02-07. Retrieved 2019-03-02.
  21. ^ "WebVR Roller Coaster". vrrollercoaster.app. Retrieved 2018-06-29.
  22. ^ "Web VR Space". webvr.space. Retrieved 2018-07-04.
  23. ^ "Bringing Mixed Reality to the Web – The Mozilla Blog". The Mozilla Blog.
  24. ^ "Welcome to the immersive web - Web - Google Developers". Google Developers. {{cite web}}: no-break space character in |title= at position 31 (help)