Commit graph

271 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
Brad Davis
390df78327 Make threaded present optional 2016-02-08 14:10:51 -08:00
Bradley Austin Davis
aecf582593 Don't crash on GL error in present thread 2016-02-01 18:26:32 -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
Brad Hefta-Gaub
86691d5d0e remove vsync and framerate menus from 2d display plugin 2016-01-08 13:12:43 -08:00
Atlante45
146581714a More warning fixes 2015-12-11 16:17:41 -08:00
Atlante45
a07d7494f0 More OS X warning cleanup 2015-12-11 14:20:36 -08:00
Seth Alves
d10221f53a merge from upstream 2015-12-10 11:21:36 -08:00
Seth Alves
b4ef2b4a08 quiet some logging 2015-12-10 10:27:31 -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
fd5fb3096f Disabling OpenVR plugin 2015-12-09 17:31:53 -08:00
Brad Davis
978d39b7f4 Moving OpenVR to external plugin and updating to latest version 2015-12-09 16:20:24 -08:00
Howard Stearns
3b372fd897 coding standards 2015-12-09 16:12:34 -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
howard-stearns
9ae22800fe Merge branch 'fix-sync-period-calc' into correct-target-frame-rate 2015-12-08 17:32:53 -08:00
howard-stearns
32e4967ee0 cleanup 2015-12-08 16:38:05 -08:00
Bradley Austin Davis
2604b49650 Fix occasional crashes switching from the Oculus plugin 2015-12-08 15:41:30 -08:00
howard-stearns
5b41d4da1c Snapshot of "working" version. 2015-12-08 15:30:23 -08:00
Brad Hefta-Gaub
4cbbd252d5 Merge pull request #6587 from jherico/rigel
Fix crashes on exit due to poor cleanup
2015-12-07 18:04:52 -08:00
Bradley Austin Davis
b7aeb34a8c Fix crashes on exit due to poor cleanup 2015-12-07 17:50:08 -08:00
Howard Stearns
72ce46af59 Mac-only. 2015-12-07 11:46:36 -08:00
Howard Stearns
8666cdd689 Merge branch 'master' of https://github.com/highfidelity/hifi into fix-render-rate 2015-12-07 11:27:30 -08:00
Atlante45
cdf621e8d0 Remove unnecessary moveToThread to remove warning 2015-12-07 09:11:41 -08:00
Howard Stearns
188c477f7e Fix render rate.
Depending on how the threads get assigned, the actual render rate (not just the stats) could be as little as a third of what is targetted.

That's because the code was insisting on an empty texture escrow before our update/render cycle could begin, and otherwise just waits for the next whole cycle.
On my MacbookPro, this was regularly giving a render average of 20fps instead of 60.
2015-12-05 17:32:32 -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
howard-stearns
0a9b42ad3c Fix present rate stats display, which was counting (roughly) twice for 2D
display, and flickering.
2015-12-04 15:10:46 -08:00
Brad Davis
11917ca501 Fixing preview / vsync functionality 2015-12-04 12:46:19 -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
d8bb9f8d18 Fixing screenshot functionality 2015-12-04 10:28:17 -08:00
Brad Davis
b9ace94ff1 Prototyping threaded present 2015-12-04 10:28:16 -08:00
Atlante45
07387ab8c0 Fix most OpenGL warnings 2015-12-04 10:01:43 -08:00
Howard Stearns
d51785a259 Merge branch 'master' of https://github.com/highfidelity/hifi into correct-target-frame-rate 2015-12-03 17:28:32 -08:00
howard-stearns
f5b25791f4 When throttling starts, we won't have noticed, so change test. 2015-12-03 13:39:41 -08:00
Howard Stearns
30bbc82c24 Restore throttling interval code. 2015-12-03 13:00:07 -08:00
Howard Stearns
a989b926b0 isVSynchronized, and proper override declarations. 2015-12-03 11:28:26 -08:00
Howard Stearns
ed86a88083 Make various forms of throttling more consistent and give it a chance of actually reaching target. 2015-12-02 21:48:06 -08:00
Howard Stearns
8ae05d8490 Plugins target frame rate and period. 2015-12-02 16:40:41 -08:00
Brad Davis
0023c034c4 Fixing naming of GL classes 2015-11-30 18:27:03 -08:00
Brad Davis
bf70ae4724 PR feedback 2015-11-06 15:59:13 -08:00
Brad Davis
7c433f47c0 Breaking up input devices and input plugins classes. 2015-11-06 15:20:00 -08:00
Brad Davis
cfb2fd1523 Support for runtime plugins (DLLs) 2015-11-01 11:12:12 -08:00
Brad Davis
3c1a0930da Merge remote-tracking branch 'upstream/master' into HEAD
Conflicts:
	interface/src/avatar/MyAvatar.h
	libraries/script-engine/src/ScriptEngine.cpp
	libraries/script-engine/src/ScriptEngine.h
2015-10-28 13:38:22 -07:00
Brad Davis
5cbb2562cd Move GL utilities out to their own library 2015-10-27 15:53:42 -07:00
Brad Davis
80c962a4cc Merge remote-tracking branch 'upstream/master' into HEAD 2015-10-15 12:27:53 -07:00
Brad Hefta-Gaub
c4af4c7b10 basic mono preview for the oculus display plugin 2015-10-13 17:45:29 -07:00
Brad Davis
7f8f5f66c7 Working on plugin active concept 2015-10-13 10:01:01 -07:00