1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-12 13:20:55 +00:00

OpenXR: Make it possible to implement vendor extensions to hand tracking from GDExtension

This commit is contained in:
David Snopek
2024-01-23 11:14:47 -06:00
parent 74c32faa78
commit 3d2cbb216e
7 changed files with 35 additions and 0 deletions

View File

@@ -179,6 +179,14 @@ void OpenXRHandTrackingExtension::on_process() {
next_pointer = &hand_trackers[i].data_source;
}
// Needed for vendor hand tracking extensions implemented from GDExtension.
for (OpenXRExtensionWrapper *wrapper : OpenXRAPI::get_singleton()->get_registered_extension_wrappers()) {
void *np = wrapper->set_hand_joint_locations_and_get_next_pointer(i, next_pointer);
if (np != nullptr) {
next_pointer = np;
}
}
hand_trackers[i].locations.type = XR_TYPE_HAND_JOINT_LOCATIONS_EXT;
hand_trackers[i].locations.next = next_pointer;
hand_trackers[i].locations.isActive = false;