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

Allowing simulated hands and exposing their status #7

Open
Manishearth opened this issue Jan 3, 2020 · 2 comments
Open

Allowing simulated hands and exposing their status #7

Manishearth opened this issue Jan 3, 2020 · 2 comments
Labels
openxr-only Features only present in Microsoft's OpenXR extension

Comments

@Manishearth
Copy link
Contributor

Microsoft's draft OpenXR extension has support for requesting and viewing the "feature level" for the hand tracker:

typedef enum XrHandTrackingFeatureLevelMSFT {
    XR_HAND_TRACKING_FEATURE_LEVEL_FULL_MSFT = 1,
    XR_HAND_TRACKING_FEATURE_LEVEL_PARTIAL_MSFT = 2,
    XR_HAND_TRACKING_FEATURE_LEVEL_SIMULATED_MSFT = 3,
    XR_HAND_TRACKING_FEATURE_LEVEL_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrHandTrackingFeatureLevelMSFT;

This basically exposes whether the hand tracking is tracking all joints, only some joints (potentially due to occlusion), or is just "guessing" joint locations based on button state.

We could potentially allow vendors to expose simulated hands if they're duly identified in the API.

@Manishearth Manishearth added the openxr-only Features only present in Microsoft's OpenXR extension label Jan 3, 2020
@Manishearth
Copy link
Contributor Author

As pointed out by @toji we may want to also expose simulated hands without requiring user consent.
It might be worth making this a feature level distinction, you can either request full hand tracking (and have it denied when unavailable), or you can request simulated hand tracking (which doesn't require consent, but may not be supported). Requesting both will give you the most powerful one allowed by consent prompts. Applications that only need derived hand tracking can just request simulated hand tracking.

In OpenXR you need to specify how faithful you want the hand tracking to be before you create the hand tracker, and once you've created it you see what level was actually picked. Our permissions API enables us to do this already.

This could either be a faithful-hand-tracking vs simulated-hand-tracking feature distinction, or alternatively a new non-string feature type {hand_tracking: "faithful"}

@Manishearth
Copy link
Contributor Author

There's some useful stuff about this in this discussion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
openxr-only Features only present in Microsoft's OpenXR extension
Projects
None yet
Development

No branches or pull requests

1 participant