Commit graph

250 commits

Author SHA1 Message Date
SamGondelman
bd942ec406 merge from master 2017-08-04 12:17:54 -07:00
Chris Collins
4684b388c7 Merge pull request #10987 from SamGondelman/hmd59Crash2
Fix crash when putting on HMD for Qt 5.9
2017-07-28 07:41:07 -07:00
SamGondelman
3c8b964cc9 replace setHandLasers with drawHUDLayer overlay property 2017-07-24 18:16:40 -07:00
Zach Pomerantz
a8f69bb2e0 Merge branch 'master' of github.com:highfidelity/hifi into audio/parity 2017-06-13 17:41:52 -04:00
Seth Alves
b1c7c251ac Merge branch 'master' of github.com:highfidelity/hifi into head-controller 2017-06-07 10:09:46 -07:00
NeetBhagat
c3621d7c32 Resolved two issues:
1) While in HMD mode -> open Tablet -> Click Desktop.  Desktop mode will be on.
2) Menu sync problem while switching modes.
2017-06-06 22:31:14 +05:30
Seth Alves
ad1ee97324 remove cruft 2017-06-06 09:50:40 -07:00
Seth Alves
3359a0a794 work on fixing some head to eye offsets. MyHead::getHmdOrientation to MyHead::getHeadOrientation 2017-06-02 15:29:20 -07:00
Seth Alves
9088e288e0 don't worry about head controller being enabled, just check to see if head pose is valid 2017-06-02 13:57:53 -07:00
Seth Alves
7d21ab88b0 add some saftey checks. cleanups 2017-06-01 16:14:59 -07:00
Seth Alves
ac6135387c display plugins are never head controllers 2017-06-01 13:37:16 -07:00
NeetBhagat
c7c07b28e9 Resolve the reviewed comments of @ZappoMan 2017-06-01 12:17:13 +05:30
Zach Pomerantz
954e4979f8 expose Audio.devices.input/output 2017-05-31 20:14:58 -04:00
Seth Alves
e37387f45c sync 2017-05-31 14:01:09 -07:00
Seth Alves
2ad85c158a more work on getting head routed through input system 2017-05-30 17:11:56 -07:00
Seth Alves
e82e80e8e0 OculusDebugDisplayPlugin is head controller 2017-05-30 09:55:33 -07:00
volansystech
0920dbc1a8 Resolve the comments of @ZappoMan. 2017-05-29 15:53:33 +05:30
Seth Alves
af5ba3a90a ask display-plugins if they are head-controllers 2017-05-25 15:14:10 -07:00
volansystech
1f24e38585 Initial Commit: Switching from Desktop mode to HMD [Oculus Rift] mode automatically when the user wear Oculus Rift. 2017-05-25 14:56:06 +05:30
Dante Ruiz
a31812821a oculus lost tracking, delay hand to side 2017-04-04 22:10:47 +01:00
Ryan Huffman
56c5f06365 Fix Oculus Touch + Remote not being detected after initial launch 2017-03-23 16:29:08 -07:00
Bradley Austin Davis
ce9d637b3f Expose ASW activation status, provide normalized present rate information 2017-03-03 10:46:05 -08:00
Stephen Birarda
1993e358d6 Merge pull request #9318 from birarda/ovr-platform-entitlement
handle OVR Platform entitlement checks
2017-01-16 11:16:31 -08:00
Brad Davis
15b9e750f9 Adding tracking of Oculus renders, submits, and frames that are over budget 2017-01-06 10:51:26 -08:00
Stephen Birarda
8f279ce1f7 only pop to check entitlements if oculus store build 2017-01-05 14:21:35 -08:00
Stephen Birarda
46086cdcce set the OCULUS_STORE property with oculus store arg 2017-01-05 14:02:35 -08:00
Stephen Birarda
2ec9b81aa6 fix passing of OCULUS_APP_ID to platform SDK initialization 2017-01-05 11:38:57 -08:00
Stephen Birarda
f592d8d894 force entitlement check for all builds with OCULUS_APP_ID 2017-01-05 11:38:47 -08:00
Stephen Birarda
b87a1b2b2b only fire the entitlement check if OCULUS_APP_ID is set 2017-01-05 11:38:32 -08:00
Stephen Birarda
ea3e5f702a add popping of messages for entitlement check 2017-01-05 11:20:45 -08:00
Stephen Birarda
4278d7b20d download and link oculus platform for oculus plugin 2017-01-05 11:20:44 -08:00
Brad Davis
9bf4804d3d Use a higher thread priority for Oculus present 2017-01-05 11:04:50 -08:00
Atlante45
e5901fa875 Make getHardwareStats thread safe 2016-12-29 11:13:55 -08:00
Atlante45
f46b8f3e6d Track compositor dropped frames as well. 2016-12-29 10:17:40 -08:00
Atlante45
f79c6e08f5 Track dropped frames as reported by the Oculus SDK 2016-12-28 14:18:23 -08:00
Brad Davis
e58623bcc0 Working on test/trace script interface 2016-12-22 11:46:40 -08:00
Brad Davis
30a9961362 tracing polish 2016-12-16 14:02:27 -08:00
Ryan Huffman
2e25f18e76 Adjust positioning of avatar hands to match touch controller position 2016-12-16 11:03:20 -08:00
Ryan Huffman
7bb2755913 Add chrome tracing support 2016-12-16 01:14:01 -08:00
Atlante45
07802eb284 Fix Oculus Touch flags check 2016-12-13 17:08:00 -08:00
Atlante45
7b0b777051 Honor reorient and quit request from OVR 2016-12-07 17:29:54 -08:00
Seth Alves
7a160ce5e8 try, try again 2016-11-13 13:39:31 -08:00
Seth Alves
645134e4b0 try, try again 2016-11-13 13:26:15 -08:00
Seth Alves
f8fb5b9709 avoid some more static/global QStrings in plugins 2016-11-13 11:29:19 -08:00
Brad Davis
162f24decd Add stutter tracking for Oculus 2016-11-11 10:12:41 -08:00
Ryan Huffman
ba7eac5281 Override getSubdeviceNames in OculusControllerManager 2016-11-01 13:53:10 -07:00
Brad Hefta-Gaub
6d94df346f add async reprojection stat to oculus too 2016-10-27 14:00:30 -07:00
Zach Pomerantz
876f70709e change oculus init errors to critical 2016-10-17 11:57:32 -07:00
Zach Pomerantz
2191903803 avoid uninitialized oculus gl calls 2016-10-17 11:08:38 -07:00
Brad Davis
28771cbda9 Additional plugin debugging, better plugin resource cleanup 2016-10-11 19:40:02 -07:00
Anthony J. Thibault
7ab76984ad Fix crash when switching to desktop mode from oculus HMD mode
Removed internalPresent in oculus uncustomizeContext.  It had no ill effects.
2016-10-10 16:54:08 -07:00
Brad Hefta-Gaub
735a6ca994 Merge pull request #8755 from hyperlogic/bug-fix/openvr-fixes
openvr deadlock and crash on exit fixes
2016-10-10 08:01:07 -07:00
Anthony J. Thibault
ec801cb9d8 Addressed feedback from code review. 2016-10-07 17:46:46 -07:00
Ryan Huffman
d589812c52 Update hand controller detection 2016-10-07 10:30:18 -07:00
Ryan Huffman
216cf2b4bc Update tutorial to work with HMD + Hand Controllers only 2016-10-07 10:30:18 -07:00
Brad Hefta-Gaub
8f96715521 only activate a touch device if one is connected 2016-09-23 14:30:34 -07:00
Brad Davis
91bfa7677c Updating stats display for threaded rendering 2016-09-02 14:41:49 -07:00
Brad Davis
6d7edd38cc Rename clearViewTransform 2016-08-12 22:28:59 -07:00
Brad Davis
82081d7d57 Address vsync weirdness 2016-08-12 22:28:58 -07:00
Brad Davis
e352883a88 Fix Gamma in Oculus display plugin 2016-08-12 22:28:56 -07:00
Brad Davis
39a47b7559 Fix Oculus compositing and gamma 2016-08-12 22:28:54 -07:00
Brad Davis
901e2da828 Hand lasers 2016-08-12 22:28:29 -07:00
Brad Davis
7e93747acf Working on reprojection 2016-08-12 22:28:22 -07:00
Bradley Austin Davis
d0912c6063 Threaded Oculus support 2016-08-12 22:18:38 -07:00
Bradley Austin Davis
274321de8a First pass at threaded rendering 2016-08-12 22:18:36 -07:00
Seth Alves
8f76c43bc1 if call to ovr_GetSessionStatus fails, also don't take input from controllers 2016-08-02 19:49:58 -07:00
Seth Alves
8c43c12249 clear pose before short-circuiting update 2016-08-02 16:49:24 -07:00
Seth Alves
03a47af628 if the HMD isn't on someone's head, don't take input from the controllers 2016-08-02 15:38:04 -07:00
howard-stearns
67f76db7e4 Merge branch 'master' of https://github.com/highfidelity/hifi into vive-ui 2016-06-22 15:58:53 -07:00
Ryan Huffman
70be7b3273 Merge branch 'master' of https://github.com/highfidelity/hifi into feat/user-actions 2016-06-21 16:39:25 -07:00
Ryan Huffman
da71fcb57f Update connected device detection implementation 2016-06-21 16:37:58 -07:00
howard-stearns
8421931c56 Merge branch 'master' of https://github.com/highfidelity/hifi into vive-ui 2016-06-21 14:47:45 -07:00
Brad Hefta-Gaub
c322317878 rework plugins to not depend on PluginContainer unless they want to 2016-06-21 12:07:05 -07:00
Bradley Austin Davis
6ad1008a56 Allow explicit overlay alpha from scripts 2016-06-15 17:24:32 -07:00
Bradley Austin Davis
0b0977f362 Support keyboard suppresion, control suppresion while in keyboard mode 2016-06-15 10:48:48 -07:00
Bradley Austin Davis
f3c47acbb2 Fix offset when UI transform is not identity 2016-06-14 09:49:25 -07:00
Bradley Austin Davis
6707f889b8 Fixing laser offset, support laser in Oculus 2016-06-13 17:33:18 -07:00
Bradley Austin Davis
62051ad297 Working on touch 2016-06-13 14:40:15 -07:00
Brad Davis
9640727f51 Hand laser rendering support in HMD plugins. 2016-06-13 13:04:11 -07:00
Brad Hefta-Gaub
8434aa9416 Merge pull request #8027 from SamGondelman/exposeHaptics
Expose haptics to JS
2016-06-08 16:17:04 -07:00
Brad Hefta-Gaub
69ae33ad9a Merge pull request #7997 from SamGondelman/touchFixes
Corrected Oculus Touch coordinate system so that hands track properly
2016-06-08 15:39:17 -07:00
SamGondelman
ff2405437b can set strength to 0 2016-06-07 12:19:38 -07:00
SamGondelman
b59d597780 if overlapping calls, haptics take on strength and duration of call that will finish last 2016-06-06 15:35:12 -07:00
SamGondelman
cea0d74c35 fix spaces and touch duration 2016-06-06 15:20:10 -07:00
SamGondelman
e7743cd8e2 added options for both hands (default), all devices, short pulse, and fixed touch timing mechanism 2016-06-06 15:03:08 -07:00
Atlante45
3dadb515f3 Add plugins name to their metadata file 2016-06-06 13:28:36 -07:00
SamGondelman
f51cb7ce0c trying to add duration support for vive 2016-06-06 10:34:32 -07:00
SamGondelman
2367cb1995 fixing input mapping for vive/touch grip button/trigger, script needs fixing 2016-06-03 15:07:21 -07:00
SamGondelman
e2c4b4d306 added haptic support to sdl and touch (needs testing) 2016-06-03 10:17:08 -07:00
SamGondelman
8b76af531b made touch hand orientation more comfortable, fixed all the touch key mappings, exposed capacitive touch keys for use later 2016-06-02 16:52:17 -07:00
SamGondelman
c9ea85e659 fixed left hand rotation 2016-06-02 10:50:22 -07:00
SamGondelman
9984667742 touch properly sets pose.valid and further corrected hand rotation 2016-06-02 10:09:41 -07:00
SamGondelman
7bd29c13b0 corrected oculus touch rotation and converted hand pose to avatar coordinate system 2016-06-02 09:09:25 -07:00
Brad Davis
ac5912df01 Fix crash on shutdown of SteamVR 2016-05-27 13:40:47 -07:00
howard-stearns
2accccef9e Merge branch 'reset-hud-on-driving' of https://github.com/howard-stearns/hifi into reset-hud-on-driving 2016-05-25 11:32:01 -07:00
Anthony J. Thibault
097b16aadc Fix for sensor reset on oculus. 2016-05-23 15:40:29 -07:00
Brad Davis
07562f72af Doing a pass over the input plugins and controller code 2016-05-20 14:50:23 -07:00
Brad Davis
888758fc21 Fix test for specific Oculus version 2016-04-19 18:13:12 -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
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 J. Thibault
0d37515784 Merge branch 'master' into tony/vive-rendering-work 2016-03-23 15:59:59 -07:00
Zach Pomerantz
64ced6ee04 Add comment explaining bare glGetError 2016-03-22 12:04:24 -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
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
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
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
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 Davis
d428f3b96f Working on crash bugs 2016-03-09 14:00:05 -08:00
Brad Davis
166a419e90 Oculus update 2016-03-08 11:20:53 -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 Davis
56fc9ea301 Remove distortion on HMD previews, both mono and stereo 2016-02-15 21:46:29 -08:00
Brad Hefta-Gaub
d77d102384 add support for persisting the mono preview mode option 2016-02-10 22:01:17 -08:00
Anthony J. Thibault
c8e6aee3e7 OpenVr: fix for conflict between openvr and oculus display plugins
* Call vr::VR_Shutdown() when ref-count goes to zero.  The ref-count
  is ncessary because the vr::IVRSystem poitner is shared between the
  the openvr input and display plugins.
* OpenVR plugins options will display in the menu if vr::VR_IsHmdPresent() is true.
  This is faster then initializing all of openvr and less likely to conflict with the
  oculus display plugin.
2016-02-10 16:28:03 -08:00
Brad Davis
e58f99c989 Ensure Oculus session is valid before base class activation 2016-01-11 13:07:02 -08:00
Brad Hefta-Gaub
c0cf717a04 CR feedback 2016-01-11 11:13:33 -08:00
Brad Hefta-Gaub
dfba05ae5f CR feedback 2016-01-11 11:07:07 -08:00
Brad Hefta-Gaub
e2a3903def add support for advanced/developer plugins and change diplay modes to match spec 2016-01-08 16:58:25 -08:00
Howard Stearns
83078b9d8c Merge branch 'master' of https://github.com/highfidelity/hifi into correct-target-frame-rate 2015-12-10 08:44:08 -08:00
Bradley Austin Davis
1644bda908 Migrate to latest Oculus SDK (0.8) 2015-12-09 17:32:11 -08:00
Howard Stearns
acb43e18d0 coding standards 2015-12-09 15:54:49 -08:00
Howard Stearns
dd2d040253 Merge branch 'fix-sync-period-calc' into correct-target-frame-rate 2015-12-09 15:43:43 -08:00
howard-stearns
1d65cbce88 Remove unneeded getTargetFramePeriod and isVSynchronized. 2015-12-08 18:08:57 -08:00
Bradley Austin Davis
e77f2e8ac4 Pass correct frame index into Oculus SDK 2015-12-08 16:49:50 -08:00
Howard Stearns
fa0ad1fe4d Merge branch 'master' of https://github.com/highfidelity/hifi into correct-target-frame-rate 2015-12-04 16:12:22 -08:00
Brad Davis
60aa93c38c Fixing menu items in display plugins 2015-12-04 10:28:19 -08:00
Brad Davis
7262a10e62 Refactoring present thread / GL base plugin for saner context management 2015-12-04 10:28:18 -08:00
Brad Davis
b9ace94ff1 Prototyping threaded present 2015-12-04 10:28:16 -08:00
Howard Stearns
a989b926b0 isVSynchronized, and proper override declarations. 2015-12-03 11:28:26 -08:00
Howard Stearns
8ae05d8490 Plugins target frame rate and period. 2015-12-02 16:40:41 -08:00
U-GAPOS\andrew
28e349f421 remeasure sensor after recentering 2015-11-19 10:43:40 -08:00
Brad Davis
4dec31d524 Fix crash in Oculus simulator 2015-11-04 13:20:47 -08:00
Brad Hefta-Gaub
92bcd9ca9e make oculus plugin use static glew 2015-11-01 15:48:01 -08:00
Brad Davis
cfb2fd1523 Support for runtime plugins (DLLs) 2015-11-01 11:12:12 -08:00