Update RenderingOpenXR module to support HTC Vive Generic trackers
Implement OpenXR support for retrieving poses associated with HTC Vive Generic Trackers.
Corresponding OpenXR extension is XR_HTCX_vive_tracker_interaction
. See specification
Relevant discussions and issues:
- https://github.com/ValveSoftware/openvr/issues/1769 (XR_HTCX_vive_tracker_interaction rev 3 unsupported paths)
- https://community.khronos.org/t/hardware-tracker-vive-tracker-with-openxr/107424/10 (Hardware Tracker / Vive Tracker with OpenXR)
Related projects:
- https://github.com/cmbruns/pyopenxr_examples/blob/main/xr_examples/vive_tracker.py
- https://github.com/1runeberg/OpenXRProvider_v2/tree/main/sample_extensions/htcx_vive_tracker_interaction
- https://github.com/ValveSoftware/openxr_engine_plugins/tree/main/unreal_engine/ue5/OpenXRViveTracker
For reference, in the context of the OpenVR modules, the support is implemented through these functions:
-
vtkOpenVRRenderWindow::UpdateHMDMatrixPose
where Open VR poses associated with all tracked devices are retrieved vtkOpenVRRenderWindow::GetDeviceHandleForOpenVRHandle
-
vtkOpenVRRenderWindow::RenderModels
allowing to render models of controller including the generic ones
Edited by Jean-Christophe Fillion-Robin