summaryrefslogtreecommitdiffstats
path: root/modules/openxr/openxr_api.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-02-20 19:34:53 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-02-20 19:34:53 +0100
commit02fdf262aaf199475d3535352eebcbbc4476f4de (patch)
tree0b696135fc14133139901d23e05ef1964a4bf8b6 /modules/openxr/openxr_api.cpp
parent73758e093efeb4f27578e3ed964d7bd5d8f65e11 (diff)
parent74413f560916ae700d4209d7733b801bf465a0c3 (diff)
downloadredot-engine-02fdf262aaf199475d3535352eebcbbc4476f4de.tar.gz
Merge pull request #88566 from devloglogan/expose-handtracker-handles
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());