summaryrefslogtreecommitdiffstats
path: root/modules/openxr/openxr_api_extension.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_extension.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_extension.cpp')
-rw-r--r--modules/openxr/openxr_api_extension.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/modules/openxr/openxr_api_extension.cpp b/modules/openxr/openxr_api_extension.cpp
index d9e282e218..fae0fc13d3 100644
--- a/modules/openxr/openxr_api_extension.cpp
+++ b/modules/openxr/openxr_api_extension.cpp
@@ -51,6 +51,8 @@ void OpenXRAPIExtension::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_next_frame_time"), &OpenXRAPIExtension::get_next_frame_time);
ClassDB::bind_method(D_METHOD("can_render"), &OpenXRAPIExtension::can_render);
+ ClassDB::bind_method(D_METHOD("get_hand_tracker", "hand_index"), &OpenXRAPIExtension::get_hand_tracker);
+
ClassDB::bind_method(D_METHOD("register_composition_layer_provider", "extension"), &OpenXRAPIExtension::register_composition_layer_provider);
ClassDB::bind_method(D_METHOD("unregister_composition_layer_provider", "extension"), &OpenXRAPIExtension::unregister_composition_layer_provider);
@@ -138,6 +140,11 @@ bool OpenXRAPIExtension::can_render() {
return OpenXRAPI::get_singleton()->can_render();
}
+uint64_t OpenXRAPIExtension::get_hand_tracker(int p_hand_index) {
+ ERR_FAIL_NULL_V(OpenXRAPI::get_singleton(), 0);
+ return (uint64_t)OpenXRAPI::get_singleton()->get_hand_tracker(p_hand_index);
+}
+
void OpenXRAPIExtension::register_composition_layer_provider(OpenXRExtensionWrapperExtension *p_extension) {
ERR_FAIL_NULL(OpenXRAPI::get_singleton());
OpenXRAPI::get_singleton()->register_composition_layer_provider(p_extension);