Commit graph

290 commits

Author SHA1 Message Date
Dante Ruiz
8e2b25eacc working on computing offsets 2017-05-03 00:25:41 +01:00
Dante Ruiz
15cad1fee9 saving work 2017-05-02 21:33:58 +01:00
Atlante45
ad16a935e9 Texture::create returns shared pointer 2017-04-25 15:56:23 -07:00
Sam Cake
2b97171061 Avoiding temp variable reference to appease mac and fixing a warning 2017-04-15 01:06:01 -07:00
Sam Cake
038d01ce04 Avoiding temp variable reference to appease mac and fixing a warning 2017-04-15 00:45:50 -07:00
Anthony J. Thibault
4e49774d0e Moved device class check into handleTrackedObject 2017-04-06 13:20:00 -07:00
Anthony J. Thibault
42262aac78 OpenVR: upgrade to version 1.0.6, for better generic tracker support 2017-04-05 18:41:43 -07:00
Anthony Thibault
be2fdd9388 Merge pull request #10063 from hyperlogic/feature/vive-tracked-objects
Vive: Expose all 16 tracked poses to the controller system
2017-04-05 16:53:47 -07:00
Sam Cake
dd73cb7b8e Use a magic number gpu::Texture::SINGLE_MIP instead of 1 2017-03-30 23:46:37 -07:00
Anthony J. Thibault
d47c040768 Vive: Expose all 16 tracked poses to the controller system.
This is in preparation for the Vive hockey puck trackers...
2017-03-29 18:15:29 -07:00
samcake
b6504bba56 Moving the num mips per texture to the creator so it s immutable and simpler 2017-03-29 17:58:56 -07:00
Bradley Austin Davis
fa5b315e09 Merge remote-tracking branch 'upstream/master' into smarter_textures 2017-03-01 15:16:18 -08:00
Seth Alves
7a31a99e3c back out previous experiment 2017-02-25 21:13:20 -08:00
Bradley Austin Davis
7fb7aa87eb Working on new texture management strategy 2017-02-17 07:53:16 -08:00
Brad Hefta-Gaub
a72f60152b audit use of QTimer intervals to make sure we're using Qt::PreciseTimer when appropriate 2016-12-29 08:53:37 -08:00
Brad Davis
30a9961362 tracing polish 2016-12-16 14:02:27 -08:00
Ryan Huffman
7bb2755913 Add chrome tracing support 2016-12-16 01:14:01 -08:00
Stephen Birarda
4c1f99954b fix confusing MIN_CORES_SPEC comment 2016-12-14 17:49:08 -08:00
Brad Hefta-Gaub
3a68f48cd7 disable threaded reprojection when running oculus in OpenVR 2016-11-14 16:30:18 -08:00
Seth Alves
da83fd9fa4 try, try again 2016-11-13 12:56:16 -08:00
Seth Alves
946dc256f0 try, try again 2016-11-13 12:15:35 -08:00
Seth Alves
f8fb5b9709 avoid some more static/global QStrings in plugins 2016-11-13 11:29:19 -08:00
Chris Collins
b9b90cc646 Merge pull request #9047 from jherico/stutter
Add stutter tracking
2016-11-11 11:39:00 -08:00
Brad Davis
162f24decd Add stutter tracking for Oculus 2016-11-11 10:12:41 -08:00
Brad Davis
90f55f0cd5 Add stutter tracking 2016-11-10 11:56:38 -08:00
Brad Davis
e2991c3665 Change minimum cores to 3 to enable OpenVR 2016-11-10 10:35:05 -08:00
Brad Davis
23fc865d40 Updates for min spec check 2016-10-27 19:28:46 -07:00
Brad Davis
018d945b85 Display warning overlay instead of scene when below min spec 2016-10-27 15:51:26 -07:00
Brad Hefta-Gaub
bfe6ebb44f some tweaks 2016-10-27 12:04:46 -07:00
Brad Hefta-Gaub
c3f5df8f0b Merge branch 'master' of https://github.com/highfidelity/hifi into report45hzTarget 2016-10-27 11:36:56 -07:00
Brad Hefta-Gaub
03946748bc Merge pull request #8928 from hyperlogic/bug-fix/more-openvr-crash-fixes
Fix for crash in openvr on startup
2016-10-26 22:45:33 -07:00
Anthony J. Thibault
1ea018db1d Fix for crash in openvr on startup
pluginActivate can fail and return false, when steamvr is in a "Not Ready" state.
In practice this can occur on a botched steamvr install, or when the vr compositor process is unable to start.

When pluginActivate returns false, there's some sort of race condition where pluginUpdate will still be called.
But it's only reproducible in release builds, without the debugger attached.

This commit prevents pluginUpdate from crashing by making sure that the openvr _system ptr is valid first.
2016-10-26 17:40:34 -07:00
Brad Davis
a53049b186 Consolidate activity tracking code 2016-10-26 17:19:24 -07:00
Brad Davis
f4f1b04cf0 Use OpenVR to determine if async reprojection is enabled 2016-10-26 16:02:06 -07:00
Brad Davis
1c89fa2291 Make threaded submit in OpenVR controllable from menu 2016-10-26 15:28:42 -07:00
Brad Davis
857f5a69d6 Don't reserve additional thread when we're not using one 2016-10-26 15:28:41 -07:00
Brad Davis
e7355e84f3 Disable OpenVR submit thread 2016-10-26 15:28:40 -07:00
Brad Hefta-Gaub
23b74c7aff when vive is on i5 report a target frame rate of 45 so we can see that in stats 2016-10-26 14:20:58 -07:00
Anthony J. Thibault
ca9d497159 Updated viveControllerConfiguration.js with new controller offset
(cherry picked from commit ec2bc3495082dfb0b472948efa9d6881562ed3f9)
2016-10-19 15:59:44 -07:00
Anthony J. Thibault
bcd31e3d99 Adjust size and offset of grab balls to better align with hand controllers.
(cherry picked from commit d97a8c2e7eace2494d3142e8187022a33aedc060)
2016-10-19 15:59:26 -07:00
Brad Davis
ff3d1b3d01 Don't use VR compositor if it doesn't exist 2016-10-13 16:53:37 -07:00
Brad Davis
d4e83a7461 Don't crash on OpenVR activation when SteamVR isn't running 2016-10-13 16:37:50 -07:00
Brad Hefta-Gaub
0e1b377227 Merge pull request #8785 from jherico/oculus_crash
Additional plugin debugging, better plugin resource cleanup
2016-10-13 13:54:34 -07:00
Brad Davis
2d6522a76f Merge pull request #8786 from hyperlogic/bug-fix/more-openvr-shutdown-crashes
Prevent crashes in openvr on shutdown
2016-10-12 13:54:56 -07:00
Brad Hefta-Gaub
8ac31a041d Merge pull request #8654 from ZappoMan/betterAway
fix away HMD unmouted logic
2016-10-11 20:35:08 -07:00
Brad Davis
28771cbda9 Additional plugin debugging, better plugin resource cleanup 2016-10-11 19:40:02 -07:00
Anthony J. Thibault
973ee544fb Prevent crashes in openvr on shutdown
By ensuring that there is an opengl context is bound before calling VR_Shutdown()
2016-10-11 16:36:29 -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
Brad Hefta-Gaub
3aa1c36f53 Merge branch 'master' of https://github.com/highfidelity/hifi into betterAway 2016-10-08 11:50:10 -07:00
Brad Hefta-Gaub
87d66ffdf8 Merge pull request #8756 from jherico/i5_reprojection
Turn on forced reprojection on i5 systems
2016-10-08 10:51:27 -07:00
Anthony J. Thibault
ec801cb9d8 Addressed feedback from code review. 2016-10-07 17:46:46 -07:00
Ryan Huffman
de14fdffb7 Remove commented log line 2016-10-07 13:38:18 -07:00
Brad Davis
8526ac74a5 Turn on forced reprojection on i5 systems 2016-10-07 13:36:49 -07:00
Anthony J. Thibault
17d00ee3f9 Workaround openvr crash by calling Submit before VR_Shutdown 2016-10-07 11:41:58 -07:00
Ryan Huffman
216cf2b4bc Update tutorial to work with HMD + Hand Controllers only 2016-10-07 10:30:18 -07:00
Ryan Huffman
54498a8f3f Add the ability to ignore invisible entities in findRayIntersection 2016-10-07 10:30:18 -07:00
David Rowe
1a745094e2 Merge branch 'master' into 21055
Conflicts:
	libraries/entities-renderer/src/RenderableWebEntityItem.cpp
	libraries/gl/src/gl/OffscreenQmlSurface.h
2016-10-06 09:29:09 +13:00
Brad Davis
d3d3aa587c Remove oglplus usage from OpenVR 2016-10-02 11:44:33 -07:00
Brad Hefta-Gaub
73e3e993fb fix Vive's HMD.mounted 2016-09-26 17:29:11 -07:00
Seth Alves
92bda6827b remove vive keyboard 2016-09-13 11:27:10 -07:00
Brad Davis
94210d2e69 Use dynamic count for global thread pool 2016-09-02 15:23:35 -07:00
Brad Davis
91bfa7677c Updating stats display for threaded rendering 2016-09-02 14:41:49 -07:00
Brad Davis
617633b85c Moving to custom context creation 2016-08-29 11:21:54 -07:00
Brad Davis
02c79d9714 Fix the OpenVR issues on AMD 2016-08-26 19:05:29 -07:00
James B. Pollack
f7697c88ae Merge pull request #8476 from zzmp/fix/vive-ati
fix vive crash in AMD driver
2016-08-24 18:06:18 -07:00
howard-stearns
6daf91166f pr comments 2016-08-22 15:03:51 -07:00
Zach Pomerantz
dbb916e2d9 fix redundant openvr fence condition 2016-08-22 13:59:18 -07:00
Zach Pomerantz
a67c5221e3 flush openvr fence before looking for it 2016-08-22 13:46:00 -07:00
howard-stearns
b8b345fb43 Merge branch 'master' of https://github.com/highfidelity/hifi into update-discovery-from-master2 2016-08-19 13:04:39 -07:00
Brad Davis
a32ab77b7d Address issues with random camera locations caused by bad HMD sensor poses 2016-08-17 15:22:30 -07:00
howard-stearns
2b75240771 Merge branch 'master' of https://github.com/highfidelity/hifi into discovery 2016-08-16 11:14:36 -07:00
Brad Davis
99009d8a2d Enable reprojection on OpenVR 2016-08-12 22:29:04 -07:00
Brad Davis
ff24bc982c Re-disable reprojection in OpenVR 2016-08-12 22:28:58 -07:00
Brad Davis
82081d7d57 Address vsync weirdness 2016-08-12 22:28:58 -07:00
Brad Davis
719e555381 Restoring reprojection to OpenVR 2016-08-12 22:28:55 -07:00
Brad Davis
a4c5c7bc16 Hopefully better handling of the OpenVR api 2016-08-12 22:28:40 -07:00
Brad Davis
b662ae4cfa More profiling ranges 2016-08-12 22:28:36 -07:00
Brad Davis
d8b0fee934 Fixing color balance, enabling vive controllers 2016-08-12 22:28:30 -07:00
Brad Davis
adcfd55cc0 Batch replay reprojection 2016-08-12 22:28:23 -07:00
Brad Davis
7e93747acf Working on reprojection 2016-08-12 22:28:22 -07:00
Atlante45
45921a5c8d Restore split behavior for inputs/displays on quit 2016-08-08 15:39:25 -07:00
howard-stearns
6e7b828203 keep qml text fields up to date with vive virtual keyboard 2016-08-02 10:13:35 -07:00
Anthony J. Thibault
90beb30e8a Filter out bad openvr HMD poses that are below the floor
When interface is launched and steam vr is NOT running, openvr can return bad HMD poses for a few frames.
To workaround this, filter out any hmd poses that are obviously bad, i.e. beneath the floor.
2016-07-19 18:12:20 -07:00
Brad Davis
90299a98fe PR feedback 2016-07-15 12:19:02 -07:00
Brad Davis
091e798267 Make hand pointer lasers 'click' on fully pressing and clicking the vive controller 2016-07-14 10:30:35 -07:00
Brad Davis
88d28120b6 Adding missed file 2016-07-01 15:48:58 -07:00
Brad Hefta-Gaub
39ff03cfb5 reduce log spam in Vive plugins 2016-06-24 10:53:46 -07:00
howard-stearns
581d87d653 feedback re magic numbers and variable name. 2016-06-22 16:40:10 -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
Howard Stearns
a1844d8c19 Fix plugin include. (How did this build for me locally?) 2016-06-21 17:36:41 -07:00
howard-stearns
baa9139881 Merge branch 'vive-ui' of https://github.com/highfidelity/hifi into vive-ui 2016-06-21 17:02:23 -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
Brad Davis
f3bad3a63b Don't trigger keyboard on revealing the overlay layer 2016-06-21 16:04:06 -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
Ryan Huffman
251e2137d3 Remove old use of connectedDevice 2016-06-21 13:31:10 -07:00
Brad Hefta-Gaub
160a5de271 CR feedback 2016-06-21 12:49:42 -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
howard-stearns
2ac6dc8798 do not tilt virtual keyboard 2016-06-21 09:48:01 -07:00
Bradley Austin Davis
5bc8b53d1b Merge remote-tracking branch 'upstream/master' into vive-ui 2016-06-17 10:56:53 -07:00
Bradley Austin Davis
6ad1008a56 Allow explicit overlay alpha from scripts 2016-06-15 17:24:32 -07:00
Bradley Austin Davis
87dc6649ce Better track keyboard open state, fix text replacement 2016-06-15 15:16:29 -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
71bf9384ce Merge remote-tracking branch 'upstream/master' into vive-ui 2016-06-15 10:45:51 -07:00
Atlante45
5560ba9a4c Quit application when SteamVR requests it 2016-06-14 16:29:50 -07:00
Bradley Austin Davis
f3c47acbb2 Fix offset when UI transform is not identity 2016-06-14 09:49:25 -07:00
SamGondelman
df9fd6c7fc reset vive grip buttons to 0 if not pressed 2016-06-13 18:35:39 -07:00
Bradley Austin Davis
6707f889b8 Fixing laser offset, support laser in Oculus 2016-06-13 17:33:18 -07:00
Brad Davis
9640727f51 Hand laser rendering support in HMD plugins. 2016-06-13 13:04:11 -07:00
Brad Davis
472a3540d7 Merge remote-tracking branch 'upstream/master' into vive-ui
Conflicts:
	scripts/system/controllers/handControllerGrab.js
2016-06-10 10:43:09 -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
Brad Davis
40778d7f29 Allow env disabling of the keyboard. Show keyboard after short delay to avoid flickers 2016-06-08 10:41:19 -07:00
Brad Davis
79c68b2ecb Working on positioning of the keyboard 2016-06-07 21:52:22 -07:00
Brad Davis
c2aa9e7f61 Update SteamVR keyboard behavior 2016-06-07 21:52:21 -07:00
Brad Davis
eab611acc0 Enable Steam VR text input 2016-06-07 21:52:20 -07:00
Brad Davis
ca6e86e767 Merge remote-tracking branch 'upstream/master' into vive-ui
Conflicts:
	interface/resources/qml/hifi/dialogs/RunningScripts.qml
2016-06-07 21:51:47 -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
afca0ec2c9 moved vive pulses to correct thread, works with duration 2016-06-06 13:25:05 -07:00
SamGondelman
f51cb7ce0c trying to add duration support for vive 2016-06-06 10:34:32 -07:00
Brad Davis
b7d1659852 Merge remote-tracking branch 'upstream/master' into vive-ui 2016-06-06 09:32:33 -07:00
howard-stearns
849bee977a Do not send stale vive data as valid after deactivating.
(cherry picked from commit e6cc1fabe0)
2016-06-04 09:07:51 -07:00
Brad Hefta-Gaub
c2a34f24cb Merge pull request #7999 from howard-stearns/do-not-send-stale-vive-data-as-valid
Do not send stale vive data as valid after deactivating.
2016-06-04 08:41:26 -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
912b35693b added vive single pulse haptics 2016-06-02 18:13:33 -07:00
howard-stearns
e6cc1fabe0 Do not send stale vive data as valid after deactivating. 2016-06-02 12:38:54 -07:00
Howard Stearns
f0133013c2 typo 2016-06-01 07:30:26 -07:00
Howard Stearns
922468ce1c fix cut and paste error with extraneous namespace qualifiers. 2016-05-31 20:47:58 -07:00
howard-stearns
c2858f847b Partition vive trackpad by center, x, and y (not just center v outer). 2016-05-31 16:57:23 -07:00
Brad Davis
ac5912df01 Fix crash on shutdown of SteamVR 2016-05-27 13:40:47 -07:00
howard-stearns
a3f1ece978 Do button mapping in C++ and simplify vive.json accordingly. Vive and
Hydra now use PrimaryThumb and SecondaryThumb. Fix warnings for Neuron.
2016-05-24 16:10:12 -07:00
Brad Davis
73342b2758 PR feedback 2016-05-20 14:50:24 -07:00
Brad Davis
07562f72af Doing a pass over the input plugins and controller code 2016-05-20 14:50:23 -07:00
Brad Hefta-Gaub
d656f61c64 Merge pull request #7759 from jherico/app_plugin_type
Don't expose raw pointer to the display plugin
2016-05-11 14:49:22 -07:00
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
Brad Davis
c54d0bc993 Don't expose raw pointer to the display plugin 2016-05-08 10:35:31 -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
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
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 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