Intent to Prototype: WebXR Depth API

121 views
Skip to first unread message

Piotr Bialecki

unread,
Aug 19, 2020, 7:20:47 PM8/19/20
to blink-dev

Contact emails

bia...@chromium.orgmlam...@chromium.org

Explainer


https://github.com/bialpio/webxr-depth-api/blob/master/explainer.md

Design docs


https://github.com/bialpio/webxr-depth-api/blob/master/explainer.md

TAG review

https://github.com/w3ctag/design-reviews/issues/550

Summary

Depth API feature allows applications access to depth buffer information that conveys information about the user's environment in Augmented Reality scenarios.

Motivation

By leveraging the depth API, web applications could offer more immersive AR experiences to their users. Example use cases are: - using depth information for physics (balls bouncing off of user's walls, projectiles burst when they hit the environment) - occlusion - virtual objects can appear as hidden behind real world objects Additionally, this helps close the gap between web platform and native APIs / SDKs.

Risks



Interoperability and Compatibility

The feature will be offered to Immersive Web WG / CG for adoption and to kick off discussions about interoperability. The design itself took into account ARCore (Android) and ARKit (iOS, marked as Beta) APIs to present an API shape that could be implemented in both of those platforms.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Ergonomics

This feature is an extension of WebXR Device API. The use of this particular feature does not depend on any other web features, although WebXR-enabled applications will most likely use WebGL.

Activation

The feature is usable as-is, although it will be more accessible to developers if used through libraries like three.js, <model-viewer>, A-Frame, etc.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No. This will be supported on platforms where Chrome supports AR. Currently, this is only Android. There are no technical restrictions specific to this API preventing it from being implemented on other platforms. The specification itself will be implemented in Blink for all platforms, but the spec text leaves room for the UAs to signal that a particular API depends on the device support.

Is this feature fully tested by web-platform-tests?

No (N/A at this stage). WPTs will be added once a working prototype is developed.

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5742647199137792

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages