Commit graph

327 commits

Author SHA1 Message Date
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
719e555381 Restoring reprojection to OpenVR 2016-08-12 22:28:55 -07:00
Brad Davis
029721fd45 Restore screenshot 2016-08-12 22:28:53 -07:00
Bradley Austin Davis
f65b636a09 Re-disable HMD preview on OSX 2016-08-12 22:28:52 -07:00
Bradley Austin Davis
f1fd8ac6e4 Fix OSX Oculus issues 2016-08-12 22:28:51 -07:00
Brad Davis
884ee1a68b Disable debug HMD plugin, ensure we release resources each frame 2016-08-12 22:28:45 -07:00
Bradley Austin Davis
d2fd7f88fd Enabling OSX Oculus plugin 2016-08-12 22:28:43 -07:00
Brad Davis
b12332b517 Add preview window toggle, fix cursor in HMD 2016-08-12 22:28:42 -07:00
Brad Davis
619158b6f2 Remove glfinish 2016-08-12 22:28:38 -07:00
Brad Davis
9cd1d69f1e Restoring preview and removing excessive GL state sync 2016-08-12 22:28:37 -07:00
Brad Davis
9f4fb0e8bd Stop messing about with the context, leave it bound on the render thread 2016-08-12 22:28:35 -07:00
Brad Davis
841d27ad20 Temporarily disable on-screen mirror and conform present batch to conventions 2016-08-12 22:28:34 -07:00
Brad Davis
0396694715 Fix initial state of view correction, plus overkill 2016-08-12 22:28:33 -07:00
Brad Davis
29ff401506 Fix resizing of window in 2D mode 2016-08-12 22:28:31 -07:00
Brad Davis
d8b0fee934 Fixing color balance, enabling vive controllers 2016-08-12 22:28:30 -07:00
Brad Davis
901e2da828 Hand lasers 2016-08-12 22:28:29 -07:00
Brad Davis
b10e2020a7 Don't crash on plugin switch 2016-08-12 22:28:29 -07:00
Brad Davis
c2509e9492 Working on draw crash bug, adding render thread trash handling 2016-08-12 22:28:27 -07:00
Brad Davis
09ddad0fe0 HMD compositing and buffer debugging 2016-08-12 22:28:26 -07:00
Brad Davis
2340afc48e Updating object transform code 2016-08-12 22:28:25 -07:00
Brad Davis
64ece05f40 Move compositing framebuffer to main GL plugin 2016-08-12 22:28:25 -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
Bradley Austin Davis
cab1843eff Buffers on the render thread need special treatment 2016-08-12 22:18:40 -07:00
Bradley Austin Davis
274321de8a First pass at threaded rendering 2016-08-12 22:18:36 -07:00
Brad Davis
85b0440e32 Disable glow lines (and the use of geometry shaders) on non-Windows platforms for now 2016-07-23 11:06:33 -07:00
Brad Davis
317dee1b23 Fix decoration inflation 2016-07-15 16:15:53 -07:00
Brad Davis
6242816f68 Adding glow to hand lasers 2016-07-12 10:10:01 -07:00
Brad Davis
0efc684992 Add glow to the termination point of UI pointers 2016-07-12 10:10:00 -07:00
Brad Hefta-Gaub
abcd1e0062 Merge pull request #8164 from SamGondelman/macHMDPreview
Added Mac preview image if VSync is enabled
2016-07-07 09:01:40 -07:00
SamGondelman
d05a27e0e6 embed image locally 2016-07-06 17:27:53 -07:00
Brad Hefta-Gaub
372f8245e6 Merge pull request #8162 from SamGondelman/snapshotFix
Snapshot takes picture of HMD window instead of preview
2016-07-05 09:25:59 -07:00
SamGondelman
057fc8adce endable blending 2016-06-30 10:25:49 -07:00
SamGondelman
be102ba926 remove unused variable 2016-06-30 10:05:57 -07:00
SamGondelman
40d584021a replace old code completely, removed unnecessary blit 2016-06-29 18:09:46 -07:00
SamGondelman
335ed667bb dk2 snapshot takes picture of HMD window 2016-06-29 16:05:17 -07:00
SamGondelman
15d09bb4fa cleanup, fixed texture corruption bug 2016-06-29 13:33:33 -07:00
SamGondelman
af2a0ed924 preserve preview aspect ratio, fix device pixel ratio scaling 2016-06-29 11:02:43 -07:00
Brad Davis
21d2c977a3 Remove roll from cursor in HMD 2016-06-28 18:30:07 -07:00
SamGondelman
a741ae5069 moved _firstPreview after download 2016-06-28 17:43:15 -07:00
SamGondelman
55c5d53640 fixed signal 2016-06-28 16:58:42 -07:00
SamGondelman
a82930cb7a cleanup 2016-06-28 15:59:58 -07:00
SamGondelman
12b5cccfc7 merge from master 2016-06-28 14:05:43 -07:00
SamGondelman
8f0d966810 working on enabling preview image 2016-06-28 13:53:57 -07:00
SamGondelman
0bfe3ea817 added support for disabling vsync on macs, but doesn't work with the rift 2016-06-27 11:34:44 -07:00
Sam Gondelman
3c809ef40c Merge pull request #8123 from AlexanderOtavka/first-person-hmd
Automatically enter first person when in HMD mode
2016-06-24 15:58:38 -07:00
Zander Otavka
d45694836f Add signal for display mode change in HMD 2016-06-24 11:57:12 -07:00
howard-stearns
581d87d653 feedback re magic numbers and variable name. 2016-06-22 16:40:10 -07:00
howard-stearns
e4dbb5e61a Make mouse reticle be perpendicular to head. 2016-06-22 09:57:38 -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
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
Anthony J. Thibault
e04d86a75a Change rendering of reticle when in HMD mode
Properly take the overlay model matrix into account.
Reticle depth is now relative to the eye, not relative to the overlay sphere.
2016-06-17 12:10:26 -07:00
Bradley Austin Davis
6ad1008a56 Allow explicit overlay alpha from scripts 2016-06-15 17:24:32 -07:00
Bradley Austin Davis
f3c47acbb2 Fix offset when UI transform is not identity 2016-06-14 09:49:25 -07:00
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