Commit graph

254 commits

Author SHA1 Message Date
Bradley Austin Davis
b93e91b9f3 New android toolchain 2017-09-19 13:45:12 -07:00
Anthony J. Thibault
f314ba38df Oculus: fix for lighting changes as avatar scale changes
The code was incorrectly NOT using the near and far clip distances when computing
the culling projection matrix. This projection matrix is used by the lighting system
to for deferred lighting, if it does not match actual projection used for
rendering into the g-buffer, the lighting will be incorrect.
2017-09-18 14:38:03 -07:00
Anthony J. Thibault
7e2b2960ed Fix for lighting as IPD scale changes.
(cherry picked from commit a260aaaae8)
2017-09-18 12:15:32 -07:00
Anthony J. Thibault
2f850826f2 Allow override of near/far clip planes in Oculus and OpenVR plugins 2017-09-06 11:02:44 -07:00
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