Intent to Experiment: WebXR AR Lighting Estimation

142 views
Skip to first unread message

Alex Cooper

unread,
Nov 5, 2020, 4:38:35 PM11/5/20
to blink-dev, Brandon Jones

Contact emails

alco...@chromium.orgbaj...@chromium.org

Explainer


https://github.com/immersive-web/lighting-estimation/blob/master/lighting-estimation-explainer.md

Specification

https://immersive-web.github.io/lighting-estimation/

API spec

Yes

Design docs


https://github.com/immersive-web/lighting-estimation/blob/master/lighting-estimation-explainer.md

Summary

Allows sites to query for estimates of the environmental lighting conditions within WebXr sessions. This exposes both spherical harmonics representing the ambient lighting, as well as a cubemap texture representing "reflections".



Blink component

Blink>WebXR>AR(Android)

TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

This feature has been incubated in the Immersive Web Community Group, in a spec co-authored with representatives from Mozilla. Though heavily influenced by ARCore, care was taken to ensure that solutions would be compatible with ARKit as well.



Gecko: No signal

WebKit: No signal

Web developers: Positive Interest is primarily from libraries (e.g. Three.js, ModelViewer)

Ergonomics

This feature is an extension of the WebXR Device API. The reflection cubemap is retrieved as a WebGL texture, and at least one format requires the half float extension to be enabled if a webgl1 context is used. The spherical Harmonic values may be a bit opaque to regular users, and are expected to be fed into some form of existing renderer (e.g. three.js, babylon.js, etc.)



Goals for experimentation

While there has been some agreement on the API shape between Google and Mozilla, feedback from other members of the Immersive Web group is still outstanding. We expect that we have arrived at an API shape that will be agreeable to them, but would like to launch via an Origin Trial to begin getting developer feedback on the ergonomics, as well as to provide the Immersive Web group more time to provide input.



Reason this experiment is being extended



Ongoing technical constraints



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

No

This feature requires the WebXR AR API, which is only implemented on Android.



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

No

Launch bug

https://crbug.com/1093069

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5704707957850112

This intent message was generated by Chrome Platform Status.

Chris Harrelson

unread,
Nov 11, 2020, 1:12:56 PM11/11/20
to Alex Cooper, blink-dev, Brandon Jones
LGTM

On Thu, Nov 5, 2020 at 1:38 PM Alex Cooper <alco...@chromium.org> wrote:

Contact emails

alco...@chromium.orgbaj...@chromium.org

Explainer


https://github.com/immersive-web/lighting-estimation/blob/master/lighting-estimation-explainer.md

Specification

https://immersive-web.github.io/lighting-estimation/

API spec

Yes

Design docs


https://github.com/immersive-web/lighting-estimation/blob/master/lighting-estimation-explainer.md

Summary

Allows sites to query for estimates of the environmental lighting conditions within WebXr sessions. This exposes both spherical harmonics representing the ambient lighting, as well as a cubemap texture representing "reflections".



Blink component

Blink>WebXR>AR(Android)

TAG review

None

TAG review status

Pending

Risks



Interoperability and Compatibility

This feature has been incubated in the Immersive Web Community Group, in a spec co-authored with representatives from Mozilla. Though heavily influenced by ARCore, care was taken to ensure that solutions would be compatible with ARKit as well.



Gecko: No signal

WebKit: No signal

Now would be a good time to get ahead of the curve on asking for signals, and TAG review (maybe in conjunction with the other WebXR intent).
 

Web developers: Positive Interest is primarily from libraries (e.g. Three.js, ModelViewer)

Ergonomics

This feature is an extension of the WebXR Device API. The reflection cubemap is retrieved as a WebGL texture, and at least one format requires the half float extension to be enabled if a webgl1 context is used. The spherical Harmonic values may be a bit opaque to regular users, and are expected to be fed into some form of existing renderer (e.g. three.js, babylon.js, etc.)



Goals for experimentation

While there has been some agreement on the API shape between Google and Mozilla, feedback from other members of the Immersive Web group is still outstanding. We expect that we have arrived at an API shape that will be agreeable to them, but would like to launch via an Origin Trial to begin getting developer feedback on the ergonomics, as well as to provide the Immersive Web group more time to provide input.



Reason this experiment is being extended



Ongoing technical constraints



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

No

This feature requires the WebXR AR API, which is only implemented on Android.



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

No

Launch bug

https://crbug.com/1093069

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5704707957850112

This intent message was generated by Chrome Platform Status.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGOLbz3ofuwQsLGHJzT7uYPWnBRWnFHUomK3f-35fpd1pEu%2B8A%40mail.gmail.com.

Chris Harrelson

unread,
Nov 11, 2020, 1:14:01 PM11/11/20
to Alex Cooper, blink-dev, Brandon Jones


On Wed, Nov 11, 2020 at 10:12 AM Chris Harrelson <chri...@chromium.org> wrote:
LGTM

Sorry, I jumped the gun a little bit on this. I don't see specified milestones for start and end of this experiment, please specify those in your request.

Alex Cooper

unread,
Nov 11, 2020, 1:46:01 PM11/11/20
to Chris Harrelson, blink-dev, Brandon Jones
Hi Chris,

We're targeting 88-89.

Thanks,
Alex

Chris Harrelson

unread,
Nov 11, 2020, 1:55:12 PM11/11/20
to Alex Cooper, blink-dev, Brandon Jones

Manuel Rego Casasnovas

unread,
Nov 12, 2020, 2:52:47 AM11/12/20
to Alex Cooper, blink-dev, Brandon Jones

On 05/11/2020 22:12, Alex Cooper wrote:
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?
>
> No

Any good reason why this is not tested in WPT? Are there any plans to
add tests there?

Bye,
Rego

Alex Cooper

unread,
Nov 12, 2020, 12:34:22 PM11/12/20
to Manuel Rego Casasnovas, blink-dev, Brandon Jones
Definitely plans to add tests here; the API has only recently stabilized (hence why we want to do an OT), and may undergo a few more changes as a result of the OT; but we plan to add them before it actually ships.

Thanks,
Alex
Reply all
Reply to author
Forward
0 new messages