Moses Turner
29cd525a3b
d/vive: Prepare for lighthouse builder
2022-06-24 01:54:45 +01:00
Moses Turner
766f1b94e9
d/survive: Remove lots of cruft and prepare for Lighthouse builder
2022-06-24 01:54:45 +01:00
Moses Turner
adadf6a2c2
t/common: Remove (sur)vive from legacy builder
2022-06-24 01:54:45 +01:00
Moses Turner
19958b4d77
d/ht: Remove cruft for Index
2022-06-24 01:54:45 +01:00
Moses Turner
00b6dd35ec
d/survive: Don't create hand-tracker ourselves
2022-06-24 01:54:45 +01:00
Moses Turner
a853022a66
d/vive: Don't create the hand-tracker ourselves
2022-06-24 01:54:45 +01:00
Moses Turner
6b63d473c6
t/common: Switch target_builder_legacy to u_system_devices_get_ht_device
2022-06-24 01:54:45 +01:00
Moses Turner
a67d2fc28b
a/util: Add u_system_devices_get_ht_device
2022-06-24 01:54:45 +01:00
Moses Turner
307e3ca1dc
h/old_rgb: Fix regressions
2022-06-24 01:54:45 +01:00
Moses Turner
0e50364be6
d/ht: Don't drop algorithm_choice on the floor
2022-06-24 01:54:45 +01:00
Jakob Bornecrantz
218fbeae4e
a/vk: Free "unused" AHardwareBuffer
...
It was only used for getting the format, free it until the function can
be completely rewritten to use it instead.
2022-06-21 20:47:04 +00:00
Jakob Bornecrantz
2c688a2d08
a/vk: Tidy return variable name
2022-06-21 20:47:04 +00:00
Jakob Bornecrantz
13504a29af
a/vk: Return an error if ahardwarebuffer_image_allocate fails
2022-06-21 20:47:04 +00:00
Moses Turner
6f21741c51
xrt: Fixup - rename *all* of the relevant hand-tracking structs
2022-06-21 21:18:41 +01:00
Moses Turner
1718d01fb1
xrt: Rename some hand-tracking structs and document them better
2022-06-21 20:37:08 +01:00
Moses Turner
9063c7dd82
doc: Document !1381
2022-06-20 16:33:48 +01:00
Moses Turner
53e719e0e8
doc: Add some notes about Mercury hand tracking
2022-06-20 16:33:48 +01:00
Moses Turner
b4a29e8b29
tests: Add case for Levenberg-Marquardt optimizer
2022-06-20 16:33:48 +01:00
Moses Turner
73dbc712ab
h/mercury: Add Levenberg-Marquardt optimizer, and lots of fixes!
...
Co-authored-by: Charlton Rodda <charlton.rodda@collabora.com>
Co-authored-by: Ryan Pavlik <ryan.pavlik@collabora.com>
2022-06-20 16:33:48 +01:00
Moses Turner
8040224b39
xrt: add hand_tracking_image_boundary_info
2022-06-20 16:33:48 +01:00
Moses Turner
db85ea2df5
external: Add tinyceres
2022-06-20 14:36:20 +01:00
Moses Turner
9651f66c4c
a/util: Add clear() method to HistoryBuffer
2022-06-18 21:56:03 +01:00
Moses Turner
8729c0485e
t/hand/async: Add simple pose-prediction
2022-06-18 21:51:09 +01:00
Moses Turner
543a436c99
m/relation_history: Add motion estimation
2022-06-18 21:50:14 +01:00
Mateo de Mayo
329b5c05bc
d/wmr: Wait 3 seconds for Odyssey+ display
2022-06-18 14:19:01 -03:00
Mateo de Mayo
ed7c148a00
d/wmr: Optionally average IMU samples for 3DoF tracker
...
Similar to how this was being done for SLAM.
It's significantly less jittery and still has a good response.
Smarter filters might benefit from raw measurements so the functionality can
be enabled again with a checkbox.
2022-06-18 14:19:01 -03:00
Mateo de Mayo
10e39d79b8
d/wmr: Use poses instead of isometries for T_imu_cam poses
...
Now that sensor poses are in WMR space, this is a bit tidier
than creating the 4x4 matrices.
2022-06-18 14:19:01 -03:00
Mateo de Mayo
f98b71243c
d/wmr: Correct hand tracking pose
...
Now the tracked hand appears roughly in the same spot as your real hand and
the tracking works a bit better.
2022-06-18 14:19:01 -03:00
Mateo de Mayo
f390214f66
d/wmr: Correct SLAM-tracked IMU pose to middle of the eyes
2022-06-18 14:19:01 -03:00
Mateo de Mayo
008ba2433b
d/wmr: Refactor how precomputed transforms work
...
Hopefully this is an improvement and not just a rewrite. Some ideas were:
1. Keep poses in WMR space as much as possible.
2. Add an explicit function that precomputes a handful of transforms that allow
converting between WMR and OpenXR coordinates.
3. Make naming of variables in line with a relatively common T_A_B notation.
4. I wasn't able to figure out why `wmr_config_compute_pose` worked before,
in any case, hopefully the new notation convention helps understanding
why P_oxr_{acc,gyr} work.
2022-06-18 14:19:01 -03:00
Mateo de Mayo
326402da2a
a/math: Use angle as magnitude of change in m_filter_euro_quat
...
Previously this was using math_quat_len which was always 1 for
these unit quaternions. This commit assumes math_quat_ln works properly which is
not exactly true at the moment and the returned angle will be twice as large.
2022-06-18 14:19:01 -03:00
Mateo de Mayo
d773ab4cf2
a/math: Add pose interpolate function and others
...
- math_matrix_4x4_isometry_from_pose
- math_pose_from_isometry
- math_pose_interpolate
- m_vec3_equal
2022-06-18 14:19:01 -03:00
Mateo de Mayo
f904f3f16c
a/math: Repurpose test file for testing pose math
2022-06-18 14:19:01 -03:00
Jakob Bornecrantz
cf152fe4cc
st/prober: Free builders list
2022-06-17 15:48:44 +01:00
Moses Turner
afec083047
d/ht: Don't depend directly on any external libraries; t/hand does that for us now
2022-06-16 15:51:55 +01:00
Moses Turner
d7eece4cb5
h/mercury: Better naming
2022-06-15 17:34:41 +01:00
Moses Turner
8e3a47dd94
t/hand: Apply formatting
2022-06-15 17:34:41 +01:00
Ryan Pavlik
f7a9317b8e
scripts: Actually format the hand tracking stuff
2022-06-15 17:34:41 +01:00
Ryan Pavlik
d7d5af1972
t/ht: Fix include path for onnxruntime
2022-06-15 17:34:41 +01:00
Ryan Pavlik
0b74b3abe8
cmake: Fix FindONNXRuntime to work with prebuilt release binaries
2022-06-15 17:34:41 +01:00
Jakob Bornecrantz
8fa568e44f
ci: Add Release builds of Android builds
2022-06-14 16:38:27 +01:00
Jakob Bornecrantz
1211a51d91
ci: Use gradle clean on gradle builds
2022-06-14 16:38:04 +01:00
Jakob Bornecrantz
e7d658747a
ci: Tidy trailing slash
2022-06-14 16:29:44 +01:00
jungjik lee
d6cc662d11
st/oxr: support different handtracker
...
There is another handtracker type in spec.
And also we can support other jointCount handtracker.
So checking this default value is not necessary.
2022-06-14 14:00:30 +00:00
Moses Turner
10c72d4272
c/main: Explain why we force the blit texture to be evenly-sized (NFC)
2022-06-14 14:01:55 +01:00
Moses Turner
3cdc9bc6cb
a/gst: Explain why we require evenly-sized frames (NFC)
2022-06-14 14:01:38 +01:00
Jakob Bornecrantz
4870c34485
c/util: Emulate sRGB formats with linear versions
2022-06-13 20:10:45 +01:00
Jakob Bornecrantz
022f23b26c
c/client: Correctly check for sRGB format
2022-06-13 20:10:45 +01:00
Jakob Bornecrantz
a0724d8ea7
a/vk: On Android create sRGB images as linear and use views to sample with gamma
2022-06-13 20:10:45 +01:00
Jakob Bornecrantz
6fc1e0cdce
c/client: Split EGL creation functions into smaller helper functions
2022-06-13 18:24:49 +01:00