bjorn
1f3c5dea79
dt uses headset time instead of system time;
2022-03-22 17:52:16 -07:00
bjorn
2da18d419b
mv util src;
2022-03-22 00:13:38 -07:00
bjorn
721d4e180d
Clean up OpenXR extensions;
...
One per line, with scannable name strings.
2022-03-21 17:01:03 -07:00
bjorn
428b569bfc
OpenXR uses COUNTOF;
2022-03-21 17:00:56 -07:00
bjorn
339f75f579
Sketch support for XR_FB_hand_tracking_aim;
...
This adds support for /point devices and the trigger axis (mapped to
pinch) with hand tracking.
2022-03-21 15:45:48 -07:00
bjorn
0c17046847
Add eye/gaze device;
...
This provides an accurate pose for what the user is looking at, instead
of the poses of the individual eyes. Supported on some OpenXR
implementations.
2022-03-21 15:05:23 -07:00
bjorn
9214ac8b29
rm unnecessary include;
2022-03-21 12:33:46 -07:00
bjorn
ad4072d109
OpenXR: Bail if extensions can't be queried;
2022-03-21 12:27:32 -07:00
bjorn
0b2c2525ba
rm openxr_oculus.h;
...
It is now an empty file in the Oculus OpenXR SDK, because the
corresponding extensions have been integrated into the main OpenXR SDK.
2022-03-21 01:00:28 -07:00
bjorn
bebeff4fc2
OpenXR: Support getDisplayFrequency;
...
Quest only. We don't support setting/querying/events yet, since it
isn't clear that this will be standardized behavior.
2022-03-21 00:51:24 -07:00
bjorn
e4eb4e0df1
OpenXR: Support vive trackers;
2022-03-20 18:04:06 -07:00
bjorn
ef9754c114
OpenXR: Rework actions;
...
Inline in the driver, less hand-centric.
2022-03-20 15:39:02 -07:00
bjorn
29cbe63b1d
OpenXR: Add support for XR_FB_hand_tracking_mesh;
...
This adds the ability to load and animate a mesh for hand tracking on
the Oculus Quest. It is more or less identical to the current
functionality on the vrapi driver.
One key part of this change is that getPose in OpenXR will see if action
spaces are active before locating their spaces. This is due to some
behavior observed on the Oculus Quest with hand tracking where pose
actions for controllers would return invalid data with all of the
location flags erroneously set. The only way to detect and work around
this is to check the pose action state. When this happens, we fall back
to returning the pose of the wrist joint, which is where the Oculus hand
mesh wants to be drawn. In the event that both controllers and hand
tracking are active, the controller pose will be returned by getPose but
the wrist joint can still be accessed using getSkeleton.
Note that this does not yet include support for properly scaling the
hand mesh.
There are numerous opportunities for optimization here that may be
investigated in the future, though performance is well within an
acceptable range right now.
2022-03-19 17:49:13 -07:00
bjorn
36c7b93fed
Details;
2022-03-17 19:30:53 -07:00
bjorn
99e2809db5
OpenXR: formatting; Use infinite swapchain wait timeout;
2022-03-17 19:30:21 -07:00
bjorn
ad4ce298f1
s/os_get_context/os_get_win32_context;
2022-03-17 19:14:34 -07:00
bjorn
c35c2bb7eb
OpenXR doesn't crash if lovr.draw errors;
...
renderTo is idempotent in openxr driver now.
2022-03-17 19:11:07 -07:00
bjorn
99a42c5c71
OpenXR: Support /point devices;
2022-03-17 17:58:30 -07:00
bjorn
4417481a92
OpenXR: Support ABXY buttons;
2022-03-17 16:33:37 -07:00
bjorn
450ee72c89
OpenXR: Windows graphics plugin properly uses HDC instead of HWND;
...
The HWND was getting passed in directly instead of first converting
it to an HDC. This was causing SteamVR to fail to create its OpenGL
context.
2022-03-15 15:21:31 -07:00
bjorn
17c05b1760
Merge branch 'master' into dev
2022-03-14 14:10:25 -07:00
bjorn
a11121d739
OpenXR: fix thumbrest action;
2022-03-14 14:10:12 -07:00
bjorn
fdfcb5539f
Merge branch 'master' into dev
2022-03-14 13:19:59 -07:00
bjorn
54154a643a
Thumbrest support;
2022-03-06 17:43:04 -08:00
bjorn
3ff64fa3ef
OpenXR: Fix instance extension enumeration;
2022-01-29 15:31:44 -08:00
bjorn
8d3d233e91
Include unknwn.h to fix OpenXR on some windows systems;
2021-12-27 15:16:50 +02:00
bjorn
20e4567bd6
Merge branch 'master' into dev
2021-12-20 17:12:39 +02:00
bjorn
e1527a949a
openxr: fix xrLocateViews call;
...
- The input parameter is a count, not a size
- The view structs must be initialized with a type
2021-10-24 13:03:05 -07:00
bjorn
0582746137
Fix OpenXR compilation;
2021-06-12 14:42:30 -06:00
bjorn
92400df89d
lovr.headset.init -> lovr.headset.start;
...
- We need some headset initialization to happen upfront
- But we still want some delayed initialization for when graphics is ready
- Go back to headset initialization happening when module is required
- Add lovr.headset.start that can be used for post-graphics init
2021-06-10 17:26:15 -06:00
Jakob Bornecrantz
28a0356a9a
Add overlay support for OpenXR
2021-04-16 14:20:05 -06:00
Jakob Bornecrantz
70ef04e595
Add overlay parameter to headset init
2021-04-16 14:20:05 -06:00
Jakob Bornecrantz
909b43f34a
Order OpenXR extension adding
2021-04-16 14:20:05 -06:00
bjorn
4f5adbc64c
lovr.system;
2021-02-25 09:00:12 -07:00
bjorn
72284c2c5b
Merge branch 'master' into dev
2021-02-12 08:16:36 -07:00
bjorn
bc4cde1653
Adjust lovrRelease signature;
2021-02-08 17:52:26 -07:00
bjorn
3ded60948f
rm core/ref; rm lovrAlloc; util does refcounting;
2021-02-08 17:26:44 -07:00
bjorn
1dd692a009
lovrPlatformGetWindow -> lovrPlatformGetWin32Window;
2021-02-07 16:57:08 -07:00
bjorn
323436898a
Add WIN32_LEAN_AND_MEAN;
2021-02-07 16:49:34 -07:00
Christoph Haag
394759c1ab
initialize XrSystemProperties type
2021-01-22 15:43:01 +01:00
Jakob Bornecrantz
cf22c11dd5
Do not try to create hand tracking devices if handTracking is not supported
2020-11-18 21:31:09 +00:00
Jakob Bornecrantz
ca04882093
OpenXR: Add support for X11 and EGL on Linux
2020-11-16 17:02:51 -07:00
bjorn
c6b4981389
Fix OpenXR view matrix;
2020-11-16 17:02:51 -07:00
Bjorn
8a3d365268
Merge pull request #299 from Wallbraker/linux-openxr
...
Linux OpenXR support
2020-11-16 13:51:41 -07:00
Jakob Bornecrantz
1400cd201a
OpenXR: Add support for X11 and EGL on Linux
2020-11-15 22:51:20 +00:00
bjorn
a139ed33e5
Fix OpenXR view matrix;
2020-11-15 22:49:00 +00:00
bjorn
e533adf649
openxr indentation;
2020-11-12 18:08:05 -07:00
bjorn
362e5525e7
Fix OpenXR view matrix;
2020-11-12 18:08:04 -07:00
Jakob Bornecrantz
22a14e1013
OpenXR: Make sure to set types for XrActionState[Boolean|Float] structs
2020-10-25 01:20:44 +01:00
Jakob Bornecrantz
e7d0a73353
OpenXR: Fix right actions not being marked as active in xrSyncActions call
2020-10-25 00:14:17 +01:00