immersive-web / webxr

Repository for the WebXR Device API Specification.
https://immersive-web.github.io/webxr/
Other
2.98k stars 381 forks source link

Discussion topic, Untracked stereoscopic inline sessions #1348

Open AdaRoseCannon opened 1 year ago

AdaRoseCannon commented 1 year ago

This was brought up at TPAC as a way to make inline more useful, to be able to do things that can't just be accomplished with WebXR.

One proposal was to let inline sessions display in untracked stereo, this would give the appearance like a 3D movie. It would not be head tracked or based upon the IPD of the user/device. So shouldn't expose additional risky information to the website but it is functionality that WebGL cannot do on it's own and would be a useful feature.

/agenda to gauge interest and confirm feasibility

Manishearth commented 1 year ago

The way to do this would be to have a separate inline-stereo session type, which gives you access to the viewer space (potentially with fixed IPD?) and you use the viewer space transformed in the -Z direction as your base reference space paired with getViewerPose().

In general I want to open up the spec to allow inline sessions to request additional permissions like viewer spaces anyway so that e.g. magic window stuff can be supported.

One tricky thing is that if we fix IPD here, there may be no way to request inline-stereo with IPD using permissions: I would imagine that explicitly requesting "viewer" for inline-stereo would be fine for this.

AdaRoseCannon commented 1 year ago

After the call I am definitely leaning towards this being a feature that can be requested.

It will also need some examples of using it with layers.

Manishearth commented 1 year ago

We still want to discuss this, but we should get a PR with concrete spec changes.

Probable design would be a new XR feature "inline-stereo".

IPD MUST involve a permissions prompt, we recommend UAs not require permissions for inline-stereo by default (and then fake an IPD), but if you are granted inline-stereo + local you get accurate IPD by default (since you went through a perm prompt)

AdaRoseCannon commented 6 months ago

@Manishearth do you think we should discuss this at the upcoming face-to-face