-
Notifications
You must be signed in to change notification settings - Fork 31
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
Show passthrough on excessive dropped frames (or if anchor lookup fails) #25
Comments
What |
I grepped around in CompositorServices, and also tried setting the alpha to 0.5/0.0 in the fragment shader, and it genuinely seems like there's no app-side control over the opacity. So I guess I'll go ahead and submit Feedback for that because it'd also be useful for ie, a flat game streaming app that allows keyboard peeping. |
@zarik5 Yeah I recorded the timestamps+poses initially, but until I do some Unsafe Swift, the anchor pose is get-only and has no setter. I might actually try that now just to see if it's even possible to set it, or if the compositor re-fetches the timestamp somehow. |
Ah damn, this is the same issue with WebXR IIRC. This is pretty limiting, because no setter means it will not support apps with multi-frame pipeline depth (like VR streaming) (unless late-latching is implemented, but is fundamentally incompatible with VR streaming). The solution is to reimplement reprojection/ATW. This would also be useful for PhoneVR. |
If frame drops get too bad, the head snchor API returns a nil value after too much time has passed, and the image becomes head-mounted. We should consider dropping the immersive opacity (if possible) in this case, to prevent nausea.
If we cannot drop the opacity, we should bother Apple about it, because the command center thingy does it just fine.
The text was updated successfully, but these errors were encountered: