Jakob Bornecrantz
0c2d07808c
u/distortion: Make Vive & Index distortion center per channel
2021-01-25 00:12:03 +00:00
Jakob Bornecrantz
2b996f30c4
xrt: Reflow after column change
2021-01-15 13:50:32 +00:00
Lubosz Sarnecki
0708863e55
d/ohmd: Port to u_logging.
2020-12-28 13:04:11 +00:00
Lubosz Sarnecki
e0b2c4ad2e
d/ohmd: Make env variables consistent with driver name.
2020-12-28 13:04:11 +00:00
Christoph Haag
d5183336b3
d/ohmd: Add display left rotation for Oculus Rift DK2
2020-12-23 11:51:51 +01:00
Christoph Haag
a2b67ab3fe
d/ohmd: Rotate rift s display right, not left
2020-11-12 16:04:00 +01:00
Christoph Haag
7ef8d1231d
d/ohmd: Update display rotation code
2020-11-12 16:04:00 +01:00
Christoph Haag
9e788df463
xrt: Remove lens center from xrt_view
...
It's only used internally in drivers now.
2020-11-12 16:04:00 +01:00
Christoph Haag
f910367014
d/oh: Add startup delay for Rift S and rotate left
2020-10-21 01:26:53 +02:00
Jakob Bornecrantz
96046d1315
d/ohmd: Use new none distortion code
2020-10-07 23:45:45 +01:00
Jakob Bornecrantz
9a675cc7f3
xrt: Rename xrt_uv_triplet
2020-09-30 15:35:57 +01:00
Christoph Haag
bb56e5f3c5
d/openhmd: Make struct oh_device private and refactor
2020-09-30 02:08:03 +02:00
Christoph Haag
f6c3998d29
xrt: Use struct vive_values for u_compute_distortion_vive
2020-09-30 02:05:05 +02:00
Christoph Haag
29188d681c
xrt: Remove all but mesh distortion values from xrt_hmd_parts::distortion
...
Move vive values to struct u_vive_values in u_distortion_mesh.
Move openhmd values to private struct inside ohmd driver.
2020-09-30 02:05:05 +02:00
Christoph Haag
2e7451ca5e
comp: Support only mesh and no istortion, remove pano and vive shaders
...
Also changes hardcoded binding indices into variables to make following the code easier
e.g. when adding new UBOs.
2020-09-30 02:05:04 +02:00
Christoph Haag
fd883e26bf
d/openhmd: Fix distortion_k value ordering
...
Their order is opposite to the psvr panotools values.
2020-09-30 01:30:30 +02:00
Christoph Haag
fb71c71a8c
xrt: Replace mesh generator with xdev->compute_distortion()
...
Each HMD driver now has to implement compute_distortion() which will be called
by the compositor implementation to generate a mesh (usually).
u_distortion_mesh contains implementations for the defaults (panotools, OpenHMD, vive).
Also adds compute_distortion function for Vive distortion
There are differences between OpenHMD and Panotools values, main differences for now:
* psvr has 5 pano coefficients, ohmd has 3
* psvr uses viewport size and lens center in pixels for distortion calculation, ohmd in meter
* psvr uses different distortion scaling than ohmd
2020-09-28 17:04:15 +01:00
Christoph Haag
31539c800e
d/ohmd: Add (OpenHMD) suffix to openhmd driver string
2020-09-21 20:37:28 +02:00
Ryan Pavlik
dae3ab3a4f
xrt: Be sure to include config headers
2020-09-18 13:56:24 +01:00
Ryan Pavlik
a0c8839a71
xrt: Remove un-needed includes of unistd
2020-09-18 13:56:16 +01:00
Jakob Bornecrantz
8e24dda794
xrt: Remove out_timestamp argument to xrt_device::get_tracked_pose
2020-09-07 23:37:09 +01:00
Ryan Pavlik
4220638afd
xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined.
2020-07-17 13:53:39 -05:00
Christoph Haag
b073e3dfb9
xrt: Add support for assigned device roles
...
Abandons the assumption that in oxr_system.xdevs[], index 0 is HMD,
1 is left controller, 2 is right controller.
Now to represent the dynamically assigned roles, oxr_system.role contains
the index for a device in oxr_system.xdevs[] for head, left and right.
This role assignment happens on the client side and currently can not be updated
from the server side.
Also adds an enum that device drivers set indicating allowed assignments
(many controllers are physically designed to be held in a specific hand).
This also adds support for configurations with only a HMD and a right controller.
2020-07-13 18:03:01 +02:00
Christoph Haag
5788fb90a2
drivers: Add rotation/position tracking bool to xdev
...
xrGetSystemProperties() will return these values to application in XrSystemTrackingProperties
using the xdev assigned to head.
2020-07-13 18:03:01 +02:00
Ryan Pavlik
bc6cc85e7d
xrt: Improve doxygen documentation.
2020-06-03 16:28:18 -05:00
Jakob Bornecrantz
e37d8f4cf5
xrt: Remove timestate from xrt_device interface
2020-04-16 17:29:34 +01:00
Jakob Bornecrantz
de20d87f87
xrt: Make it possible for the prober to pass in JSON data to the drivers
2020-04-10 12:29:21 +00:00
Christoph Haag
7403d45133
d/ohmd: Add quirk to rotate WVR2 display left
...
OpenHMD can't easily tell us the WVR SKU because it has to read it
from the config after opening the device, while the product string
is set at device list time.
As a workaround, recognize the WVR2 by its resolution.
2020-02-18 00:33:59 +01:00
Jakob Bornecrantz
a4ed39bf65
d/ohmd: Select correct pano_warp_scale
2020-02-15 16:03:13 +00:00
Jakob Bornecrantz
d305f773ea
d/ohmd: Do not open External Device by default
2020-01-25 14:42:02 +00:00
Jakob Bornecrantz
b3e84f9041
xrt: Make sure that auto probers can add non-HMD devices after a HMD has been found
2020-01-23 15:51:36 +00:00
Samantha Bowen
14bfd17f39
d/ohmd: Add position tracking.
2020-01-15 21:07:05 +00:00
Jakob Bornecrantz
be712c7049
d/ohmd: Use mesh shader for none distortion
2019-10-25 13:05:54 +00:00
Jakob Bornecrantz
aa52da072f
xrt: Remove relation input type
2019-10-24 21:51:07 +01:00
Jakob Borncrantz
d245fc33c9
d/ohmd: Add variable tracking
2019-10-15 21:00:12 +02:00
Jakob Bornecrantz
3bee6e3a8b
d/ohmd: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
216f7df355
d/ohmd: Less distorted view on external device
2019-09-27 20:28:04 +01:00
Jakob Bornecrantz
46389cd6ae
xrt: Send in real prober to auto probers
2019-09-15 23:24:58 +01:00
Jakob Bornecrantz
29b1713be9
xrt: Add enum xrt_device_name so that state trackers can reason about device
2019-09-04 12:47:18 +01:00
Jakob Bornecrantz
542208bd42
d/ohmd: Fix warning by including right header
2019-06-19 16:45:10 +01:00
Caleb Szalacinski
6664588eba
Added a delay quirk to allow the Oculus Rift CV1 to initialize properly.
2019-06-18 20:36:43 -05:00
Ryan Pavlik
287bd1cb06
d/ohmd: Cast bitmask enum
2019-06-18 18:43:20 +00:00
Ryan Pavlik
fbfee92601
d/oh: Have prober include interface header
...
Without this, the implementation definition might drift from the declaration,
and it doesn't get its extern "C"-ness.
2019-06-18 13:32:07 -05:00
Ryan Pavlik
de0506fb0c
d/oh: Codespell fix
2019-06-18 13:09:59 -05:00
Jakob Bornecrantz
89d8315b3b
xrt: Add output interfaces
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
1f64f714f6
xrt: Add input, hmd_parts and tracking interface
...
This patch has been spun of the rather massive amount of work for adding input
devices into Monado. The interfaces feels somewhat stable now so could do
with another pair of eyes on them, before too much work is done on st/oxr.
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
dc9ab44a5a
xrt: Rename xrt_prober to xrt_auto_prober
2019-05-03 18:53:07 +01:00
Jakob Bornecrantz
c8cdf3ee38
d/ohmd: Tidy code style
2019-04-30 14:02:00 +01:00
Jakob Bornecrantz
831b52f71e
d/ohmd: Refactor quirking some more
2019-04-27 09:21:12 +01:00
Jakob Bornecrantz
8675142e32
d/ohmd: Refactor quirking code
2019-04-27 09:06:33 +01:00