|
Monado OpenXR Runtime
|
Camera based hand tracking driver code. More...
#include "os/os_threading.h"#include "math/m_space.h"#include "math/m_relation_history.h"#include "util/u_var.h"#include "util/u_misc.h"#include "util/u_debug.h"#include "util/u_logging.h"#include "util/u_trace_marker.h"#include "tracking/t_hand_tracking.h"Data Structures | |
| struct | ht_async_impl |
| A synchronous to asynchronous wrapper around the hand-tracker code. More... | |
Functions | |
| static struct ht_async_impl * | ht_async_impl (struct t_hand_tracking_async *base) |
| static void * | ht_async_mainloop (void *ptr) |
| static void | ht_async_receive_left (struct xrt_frame_sink *sink, struct xrt_frame *frame) |
| static void | ht_async_receive_right (struct xrt_frame_sink *sink, struct xrt_frame *frame) |
| static void | ht_async_break_apart (struct xrt_frame_node *node) |
| static void | ht_async_destroy (struct xrt_frame_node *node) |
| static void | ht_async_get_hand (struct t_hand_tracking_async *ht_async, enum xrt_input_name name, int64_t desired_timestamp_ns, struct xrt_hand_joint_set *out_value, int64_t *out_timestamp_ns) |
| struct t_hand_tracking_async * | t_hand_tracking_async_default_create (struct xrt_frame_context *xfctx, struct t_hand_tracking_sync *sync) |
Camera based hand tracking driver code.
|
static |
| struct t_hand_tracking_async * t_hand_tracking_async_default_create | ( | struct xrt_frame_context * | xfctx, |
| struct t_hand_tracking_sync * | sync | ||
| ) |
We really need a way to calibrate this live - something like an exponential filter that looks at the typical maximum time between the time at which we were asked for a sample and most recent processed sample timestamp.
References xrt_frame_sink::push_frame, and U_TYPED_CALLOC.