The open source OpenXR runtime

d/survive: add hand tracking pose offsets to controller

authored by

Simon Zeni and committed by
Jakob Bornecrantz
fdec80cd 0402a1e1

+4 -4
+4 -4
src/xrt/drivers/survive/survive_driver.c
··· 471 471 */ 472 472 struct xrt_vec3 static_offset = {.x = 0, .y = 0.05, .z = 0.11}; 473 473 474 - 475 - 476 474 struct xrt_space_relation hand_relation; 477 475 478 476 m_relation_history_get(survive->relation_hist, at_timestamp_ns, &hand_relation); ··· 488 486 489 487 // out_value->hand_pose = hand_relation; 490 488 489 + struct xrt_pose pose_offset = XRT_POSE_IDENTITY; 490 + vive_poses_get_pose_offset(survive->base.name, survive->base.device_type, name, &pose_offset); 491 + 491 492 m_relation_chain_push_pose(&chain, &hand_on_handle_pose); 493 + m_relation_chain_push_pose(&chain, &pose_offset); 492 494 m_relation_chain_push_relation(&chain, &hand_relation); 493 495 m_relation_chain_resolve(&chain, &out_value->hand_pose); 494 - 495 - 496 496 497 497 // This is the truth - we pose-predicted or interpolated all the way up to `at_timestamp_ns`. 498 498 *out_timestamp_ns = at_timestamp_ns;