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 driver interface for client-space universe offsets #113

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pushrax
Copy link

@pushrax pushrax commented Jun 29, 2018

The existing WorldFromDriver rotation offset applies directly to qWorldFromDriverRotation and does not affect vecWorldFromDriverTranslation, which means any changes to vecWorldFromDriverTranslation originating from the true device driver will effectively cause the rotation offset to be applied relative to a different origin in client space.

In particular, when a lighthouse-tracked device loses tracking and comes up facing a different lighthouse than before, the WorldFromDriver transform will switch, and any calibrated translation offset needs to be adjusted to take this into account. This is fairly annoying when it occurs, and requires either switching the profile, cycling the devices tracking and bringing them up facing the original lighthouse, or restarting SteamVR with the devices facing the original lighthouse.

This PR introduces a new offset, which is effectively applied to the universe transform instead of the WorldFromDriver transform. It does this by applying the rotation offset to the incoming vecWorldFromDriverTranslation as well as qWorldFromDriverRotation.

I'm opening this without any client changes, since I want to gauge your interest in merging before continuing work.

@pushrax
Copy link
Author

pushrax commented Jun 29, 2018

This would probably require a protocol version bump too, which is really unfortunate. Would it be better to add a new IPC method instead?

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.

1 participant