Commit graph

221 commits

Author SHA1 Message Date
Howard Stearns
d05987de6d Merge pull request #8042 from jherico/lasers
First pass prototype of laser rendering in OpenVR plugin
2016-06-13 18:06:15 -07:00
Bradley Austin Davis
6707f889b8 Fixing laser offset, support laser in Oculus 2016-06-13 17:33:18 -07:00
Brad Davis
130c0dda31 PR feedback 2016-06-13 13:04:11 -07:00
Brad Davis
9640727f51 Hand laser rendering support in HMD plugins. 2016-06-13 13:04:11 -07:00
Anthony J. Thibault
5ef6847dc3 HMD re-centering while driving improvements.
Previously the HUD fading in/out would also recenter the hmd sensor and the avatar, which caused many problems including:
  * The user's view could shift vertically.
  * Your avatar would briefly go into t-pose
  * other users would see your avatar go into t-pose.

Now we now move the UI sphere instead, which results in a much smoother experience.

MyAvatar: added hasDriveInput method.

OverlayConductor:
* removed avatar and sensor reset, instead the overlay's modelTransform is changed.
* revived STANDING mode, which is active if myAvatar->getClearOverlayWhenDriving() is true and you are wearing an HMD.
* SITTING & FLAT mode should be unchanged.
* Instead of using avatar velocity to fade out/fade in the hud, We use the presense or absanse of avatar drive input.
* Additionally, we check distance to the UI sphere, and quickly recenter the hud if the users head is too close to the actual hud sphere.

CompositorHelper:
* Bug fixes for ray picks not using the modelTransform.

HmdDisplayPlugin:
* Bug fixes for rendering not using the modelTransform.
2016-06-08 18:36:36 -07:00
Brad Davis
8c13ff4ee1 Pinned UI support 2016-06-02 17:24:25 -07:00
Brad Davis
5ba8372c21 Moving GL backend out of GPU 2016-05-16 12:54:17 -07:00
Brad Hefta-Gaub
757eea16a6 Merge pull request #7809 from howard-stearns/hand-controller-pointer
Hand controller pointer
2016-05-10 16:37:26 -07:00
howard-stearns
af8d0dc280 Fix setReticlePosition and getReticlePosition to match. 2016-05-09 11:34:52 -07:00
Bradley Austin Davis
0f768b13b9 Working on OSX Rift functionality 2016-05-07 20:17:31 -07:00
howard-stearns
acc216726a Cleanup 2016-05-03 16:32:53 -07:00
howard-stearns
fdf9c0a217 Fix offset so that non-full-size window can be located anywhere on screen. 2016-05-03 16:26:45 -07:00
Howard Stearns
773770a7fc All but origin-correction. 2016-05-03 07:01:23 -07:00
Brad Hefta-Gaub
8f3d48190a switch to QRect instead of vec4 2016-04-16 16:59:47 -07:00
Brad Hefta-Gaub
c7f58dc17c first cut at exposing recommend overlay rectangle 2016-04-14 20:47:31 -07:00
Brad Davis
1a02220886 Fixing wobble 2016-04-12 17:50:59 -07:00
Brad Davis
3325c58ceb Vive timewarp implementation 2016-04-12 16:44:15 -07:00
Brad Davis
df8ad57185 Fix FPS counter 2016-04-11 00:25:16 -07:00
Brad Hefta-Gaub
772e7b95f6 Merge pull request #7584 from zzmp/log/dep-is-set
Avoid warning for expected unset PresentThread
2016-04-07 14:47:56 -07:00
Brad Hefta-Gaub
8c15116190 fix auto-hide logic in depthReticle 2016-04-06 11:00:43 -07:00
Zach Pomerantz
37efeb7f29 Avoid warning for expected unset PresentThread 2016-04-05 14:59:59 -07:00
Brad Davis
f569cbf70e Add debugging output, fix timewarp 2016-03-30 10:40:32 -07:00
Zach Pomerantz
931cad34d1 Check plugin activation success 2016-03-28 12:05:58 -07:00
Anthony J. Thibault
73725106f0 OpenGLDisplayPlugin: For non-threaded present use fetchAndReleasewithGpuWait 2016-03-23 17:13:29 -07:00
Anthony Thibault
209524a5c0 openvr: Non-threaded present work
In the unlikely event you hit 90htz in non-threaded present mode, you will have perfect tracking and latency.
This verifies that there are no other sources of tracking or rendering latency, other then the ones we already know about.
2016-03-22 15:38:10 -07:00
Anthony Thibault
225c462685 Improved NSIGHT instrumentation
* Application::idle, physics and avatar processing are tracked
* Application::paintGL frameNumber payload is tracked
* OpenGLDisplayPlugin::present is profiled with corresponding frameNumber payload
* Added color and payload support to Nsight ProfileRange class.
2016-03-21 21:47:59 -07:00
Anthony Thibault
0d046b12de OpenVR: Moved WaitGetPoses after main window preview. 2016-03-21 17:39:10 -07:00
Anthony Thibault
5b2a050df7 display-plugins: Pulled getHeadPose into common base class.
* Moved getHeadPose and _headPoseCache out of each derived class and into HmdDisplayPlugin.
* updated comment in application.
2016-03-20 14:08:35 -07:00
Anthony J. Thibault
d218ca4960 openvr: fix for crash on exit
Before this fix, a script could call into HMD.getHUDLookAtPosition2D() while the app was shutting down, which in turn would call
getHeadPose() on the currently active display plugin.  This call could cause a crash within the openvr plugin, because the SDK was either shutdown, or in the process of shutting down on the main thread.

This fixes this by spliting the previous DisplayPlugin::getHeadPose(int) into two parts:

* updateHeadPose(int) which is only called once a frame and only by the main thread.
* getHeadPose() which is thread-safe and will return a cached copy of the hmd pose sampled by the last updateHeadPose.
2016-03-18 12:26:11 -07:00
Bradley Austin Davis
7045680bc7 Reduce crashes on switching display plugins 2016-03-17 10:13:52 -07:00
Bradley Austin Davis
384351067e Don't crash when the Rift is turned off 2016-03-16 20:16:28 -07:00
Chris Collins
ae596d79f1 Merge pull request #7317 from jherico/hmd_worn
Expose a property in display plugins to determine if the device is visible to the user
2016-03-11 11:46:06 -08:00
Brad Davis
87c9961aa8 Expose a property in display plugins to determine if the device is visble to the user 2016-03-10 17:19:32 -08:00
Brad Hefta-Gaub
92c47fdc8b fix build buster, CR feedback 2016-03-10 16:44:59 -08:00
Brad Hefta-Gaub
387c156ce3 add failsafe for fade, so it can't endup between start and end property value 2016-03-10 16:24:30 -08:00
Brad Hefta-Gaub
9842689ec0 remove noise and return early 2016-03-10 16:19:52 -08:00
Brad Hefta-Gaub
0c12c6ef90 dont be an idiot 2016-03-10 16:14:56 -08:00
Brad Hefta-Gaub
ff30611234 first cut at getting overlays to toggle again 2016-03-10 16:07:49 -08:00
Brad Davis
f04d1b4998 Handle fake mouse events properly when triggered from a script 2016-03-09 22:11:40 -08:00
Bradley Austin Davis
7d046c30a9 Bypass baffling OSX GL error 2016-03-08 12:23:29 -08:00
Brad Davis
8988dd9771 Fix mouse drag turning 2016-03-07 17:14:44 -08:00
Brad Davis
f5acf49e47 Fix reticle transform when depth != 1 2016-03-07 17:14:42 -08:00
Brad Davis
28103cf5ef Migrate composition of the overlay and pointer to the present thread 2016-03-07 17:14:41 -08:00
Brad Hefta-Gaub
04fa37324f tweak to virtual desktop size, to make text more readable, 240d horz FOV 2016-02-19 18:24:32 -08:00
Brad Hefta-Gaub
7be5811f34 tweak to UI size, clean up screen to overlay 2016-02-19 13:22:37 -08:00
Brad Davis
8289c39a2a Removing flicker from OpenVR mirror 2016-02-17 14:48:24 -08:00
Brad Davis
d61f4fbb25 PR feedback 2016-02-16 16:44:16 -08:00
Brad Davis
56fc9ea301 Remove distortion on HMD previews, both mono and stereo 2016-02-15 21:46:29 -08:00
Brad Davis
908e153c36 Don't drop to half the vsync rate when we can't keep up 2016-02-12 15:57:27 -08:00
Brad Davis
2b127720f8 Run the present thread at highest priority 2016-02-09 09:39:33 -08:00