Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add first person observer view #57

Merged
merged 5 commits into from
Jun 18, 2020
Merged

Conversation

Manishearth
Copy link
Contributor

This adds a first-person-observer feature flag that can be used to signal support for a first person observer view.

cc @cabanier @thetuvix

Fixes #53

index.bs Outdated

[=First-person observer views=] MAY use a different [=blend technique=] over the primary [=views=]. In such a case, this [=blend technique=] MAY be exposed on the {{XRView}} through {{XRView/overrideBlendMode}}.

The <dfn attribute for=XRView>overrideBlendMode</dfn> attribute is <code>null</code> for all primary [=views=], and is the [=view=]'s [=blend technique=] for [=views=] where the [=blend technique=] differs from the {{XRSession/environmentBlendMode}}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When will an observer view ever be not alpha-blend'?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm that's a good point.

I actually wrote this text back when I was thinking of having a general "secondary-views" feature (as discussed in the other spec) and in that case you definitely want this. But if we're doing FPO only it seems reasonable to mandate that the blend mode is always alpha-blend.

index.bs Outdated

Many AR devices have a camera, however the camera is typically not aligned with the eyes. When doing video capture of the session for streaming or saving to a file, it is suboptimal to simply composite this camera feed with one of the rendered eye feeds as there will be an internal offset. Devices may use reprojection or other tricks to fix up the stream, but some may expose a third [=view=], the <dfn>first-person observer view</dfn>, which has an [=view/eye=] of {{XREye/"none"}}.

Most content will not expect more than two [=view=]s, and content MUST explicitly opt-in to receiving a [=first-person observer view=] by enabling a "<dfn>first-person-observer</dfn>" [=feature descriptor=].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most content will not expect more than two [=view=]s, and

remove this sentence

index.bs Outdated
First Person Observer Views {#first-person-observer}
--------------------------------

Many AR devices have a camera, however the camera is typically not aligned with the eyes. When doing video capture of the session for streaming or saving to a file, it is suboptimal to simply composite this camera feed with one of the rendered eye feeds as there will be an internal offset. Devices may use reprojection or other tricks to fix up the stream, but some may expose a third [=view=], the <dfn>first-person observer view</dfn>, which has an [=view/eye=] of {{XREye/"none"}}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mark this as non-normative

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can't be, we're defining the view type.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you can break it apart in 2 sections.

@Manishearth
Copy link
Contributor Author

This has been tweaked to have the feature descriptor be more generic and in the core spec (immersive-web/webxr#1083)

Copy link
Member

@toji toji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Manishearth Manishearth merged commit dd8c83f into immersive-web:master Jun 18, 2020
@Manishearth Manishearth deleted the fpo branch June 18, 2020 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Global environment blend mode does not work with "third eye" video capture views
3 participants