Commit graph

136 commits

Author SHA1 Message Date
Anthony J. Thibault
09a4e0eaa8 Fix for vive controllers sometimes not working
* Fixed bug with input devices that where added, removed then re-added.
  The default mappings were being ignored on the second add.
* Fixed potential crash when hardware inputPlugin device poses were polled from the JavaScript thread
  by taking the UserInputManager lock during pluginUpdate.
* Renamed Controller.Hardware.Vive.LB & RB to LeftGrip and RightGrip, to better match Oculus touch.
* Updated resource/controller/vive.json to reflect this new mapping.
* Exposed touch pad capacitive touch events to JavaScript as
  Controller.Hardware.Vive.LSTouch and RSTouch.
* Added viveTouchpadTest.js script to test LSTouch and RSTouch events.
2016-05-10 19:32:08 -07:00
Bradley Austin Davis
0f768b13b9 Working on OSX Rift functionality 2016-05-07 20:17:31 -07:00
Brad Davis
888758fc21 Fix test for specific Oculus version 2016-04-19 18:13:12 -07:00
Brad Davis
3421c10c1b Fixing vive hand controllers 2016-04-13 10:35:39 -07:00
Brad Davis
1a02220886 Fixing wobble 2016-04-12 17:50:59 -07:00
Brad Davis
9d29d6c0e9 Fixing OSX build 2016-04-12 16:44:17 -07:00
Brad Davis
73ec40dae6 Making a debug mechanism for force OpenVR 2016-04-12 16:44:16 -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 Davis
2f28c64edb Fixing menu navigation in oculus remote 2016-04-07 13:21:00 -07:00
Brad Davis
a58a627fdf Support oculus remote input 2016-04-07 13:20:59 -07:00
Brad Davis
fd4a374e08 Add comment 2016-04-05 13:04:17 -07:00
Brad Davis
71e6f9bdd6 Display a blank frame before switching away from oculus 2016-04-05 13:03:14 -07:00
Brad Davis
ffc2c75534 Don't release the Oculus plugin when disabling the plugin 2016-04-05 09:59:12 -07:00
Brad Davis
97e96f7b67 PR comments 2016-03-31 13:19:26 -07:00
Brad Davis
b53968fd64 Add automatic switching the Oculus headphones and mic when activating the plugin 2016-03-31 10:33:11 -07:00
Brad Davis
f569cbf70e Add debugging output, fix timewarp 2016-03-30 10:40:32 -07:00
Brad Davis
8123617fe1 Improve failure detection logging 2016-03-30 10:40:31 -07:00
Brad Davis
80d397555d Fixing input API, DLL path for Oculus 2016-03-30 10:40:30 -07:00
Brad Davis
78626f7938 Add warning logging if we can't find a 1.x Oculus dll 2016-03-30 10:40:29 -07:00
Brad Davis
bd9813bbf5 Only enable the Oculus plugin in the presence of the 1.x runtime 2016-03-30 10:40:29 -07:00
Brad Davis
d056c41e25 Update to latest Oculus SDK, add input device support 2016-03-30 10:40:28 -07:00
Zach Pomerantz
34a77b47a3 Restore SDL2 comments 2016-03-28 12:25:56 -07:00
Zach Pomerantz
b94e244844 Update oculus legacy plugin 2016-03-28 12:24:31 -07:00
Zach Pomerantz
931cad34d1 Check plugin activation success 2016-03-28 12:05:58 -07:00
Zach Pomerantz
776893a5ab Improve logging for oculus errors 2016-03-28 11:22:56 -07:00
Anthony Thibault
88c4e54cff openvr: predict 3 frames into the future
Becasue I revered the latency fix in the GLEscrow queue.

*sigh*
2016-03-23 17:38:40 -07:00
Anthony J. Thibault
0d37515784 Merge branch 'master' into tony/vive-rendering-work 2016-03-23 15:59:59 -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
Zach Pomerantz
64ced6ee04 Add comment explaining bare glGetError 2016-03-22 12:04:24 -07:00
Anthony Thibault
b1286517c6 Removed frame latency in GLEscrow
This could occur if the GLEscrow queue has extra frames in it.
When new textures were fetched, before this fix, they were simply popped from the queue.
This commit introduces a loop, that will fetch from the queue until it is empty.
2016-03-21 21:51:16 -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
63d6f888e6 Update openvr sdk to 0.9.19 2016-03-21 17:31:13 -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
e1d47e7028 OculusLegacyDisplayPlugin: mac os x and linux fixes 2016-03-18 16:23:30 -07:00
Anthony J. Thibault
4321c5a62b OculusLegacyDisplayPlugin: fixes for macosx and linux 2016-03-18 15:59:48 -07:00
Anthony J. Thibault
960ffd9c9e DisplayPlugins: updateHeadPose() no longer returns a value.
Also, moved updateHeadPose so that the overlay and the main rendering use the same headPose.
Which should also be the same place the latencyMarker for the ovr_GetTrackingState is set.
2016-03-18 15:16:58 -07:00
Anthony J. Thibault
2faaf243a1 Revert change to OpenVrDisplayPlugin::isSupported() 2016-03-18 13:42:31 -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
cde56d6fa2 Disable OpenVR plugin when Oculus HMD is connected 2016-03-17 10:13:52 -07:00
Bradley Austin Davis
25c8a3a0f3 Fixing legacy plugin 2016-03-17 10:13:52 -07:00
Bradley Austin Davis
b279ff9f7d Fix for crash on disabling and re-enabling openvr 2016-03-17 10:13:52 -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
Brad Hefta-Gaub
9e0d9f5748 Merge pull request #7337 from sethalves/disable-oculus-legacy-on-linux
don't build oculus-legacy plugin on Linux
2016-03-13 12:26:37 -07:00
Brad Davis
27033e5bb5 Fix vive crash on deactivate 2016-03-12 21:48:36 -08:00
Seth Alves
d036e0618d don't build oculus-legacy plugin on linux 2016-03-12 07:54:59 -08: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
Philip Rosedale
e87ef52a4c Merge pull request #7302 from hyperlogic/tony/wrong-way-overlay
More reliable and usable UI sphere overlay location
2016-03-10 17:43:50 -08:00