summaryrefslogtreecommitdiffstats
path: root/modules/openxr/openxr_api.cpp
diff options
context:
space:
mode:
authorLogan Lang <devloglogan@gmail.com>2024-02-18 20:06:36 -0600
committerLogan Lang <devloglogan@gmail.com>2024-02-19 16:31:10 -0600
commit74413f560916ae700d4209d7733b801bf465a0c3 (patch)
tree0a29a6f073b58dfa08ca06b65b0616a86cd35e55 /modules/openxr/openxr_api.cpp
parentfb10e67fefb85af3b8f5abd30db561588d8456c6 (diff)
downloadredot-engine-74413f560916ae700d4209d7733b801bf465a0c3.tar.gz
expose OpenXR hand tracker handles
Diffstat (limited to 'modules/openxr/openxr_api.cpp')
-rw-r--r--modules/openxr/openxr_api.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp
index 36c3faaf75..ccf97662e2 100644
--- a/modules/openxr/openxr_api.cpp
+++ b/modules/openxr/openxr_api.cpp
@@ -57,6 +57,7 @@
#include "extensions/openxr_fb_display_refresh_rate_extension.h"
#include "extensions/openxr_fb_foveation_extension.h"
#include "extensions/openxr_fb_update_swapchain_extension.h"
+#include "extensions/openxr_hand_tracking_extension.h"
#ifdef ANDROID_ENABLED
#define OPENXR_LOADER_NAME "libopenxr_loader.so"
@@ -1536,6 +1537,12 @@ void OpenXRAPI::cleanup_extension_wrappers() {
registered_extension_wrappers.clear();
}
+XrHandTrackerEXT OpenXRAPI::get_hand_tracker(int p_hand_index) {
+ ERR_FAIL_INDEX_V(p_hand_index, OpenXRHandTrackingExtension::HandTrackedHands::OPENXR_MAX_TRACKED_HANDS, XR_NULL_HANDLE);
+ OpenXRHandTrackingExtension::HandTrackedHands hand = static_cast<OpenXRHandTrackingExtension::HandTrackedHands>(p_hand_index);
+ return OpenXRHandTrackingExtension::get_singleton()->get_hand_tracker(hand)->hand_tracker;
+}
+
Size2 OpenXRAPI::get_recommended_target_size() {
ERR_FAIL_NULL_V(view_configuration_views, Size2());