summaryrefslogtreecommitdiffstats
path: root/servers
diff options
context:
space:
mode:
authordevloglogan <devloglogan@gmail.com>2024-05-24 16:18:33 -0500
committerdevloglogan <devloglogan@gmail.com>2024-05-29 07:52:54 -0500
commit6a8f2f00ac41d8977b0085203980f889a9644e23 (patch)
treee66920853792fae39f617adb49c2a4f4c9339066 /servers
parentb7feebefabc2d48b0d4794cd31fc141f1caecc5c (diff)
downloadredot-engine-6a8f2f00ac41d8977b0085203980f889a9644e23.tar.gz
Apply reference frame transform to OpenXRCompositionLayer nodes
Diffstat (limited to 'servers')
-rw-r--r--servers/xr_server.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/servers/xr_server.cpp b/servers/xr_server.cpp
index 2cfe98ea1e..a4e68afee0 100644
--- a/servers/xr_server.cpp
+++ b/servers/xr_server.cpp
@@ -98,6 +98,8 @@ void XRServer::_bind_methods() {
BIND_ENUM_CONSTANT(RESET_BUT_KEEP_TILT);
BIND_ENUM_CONSTANT(DONT_RESET_ROTATION);
+ ADD_SIGNAL(MethodInfo("reference_frame_changed"));
+
ADD_SIGNAL(MethodInfo("interface_added", PropertyInfo(Variant::STRING_NAME, "interface_name")));
ADD_SIGNAL(MethodInfo("interface_removed", PropertyInfo(Variant::STRING_NAME, "interface_name")));
@@ -213,11 +215,13 @@ void XRServer::center_on_hmd(RotationMode p_rotation_mode, bool p_keep_height) {
reference_frame = new_reference_frame.inverse();
set_render_reference_frame(reference_frame);
+ emit_signal(SNAME("reference_frame_changed"));
}
void XRServer::clear_reference_frame() {
reference_frame = Transform3D();
set_render_reference_frame(reference_frame);
+ emit_signal(SNAME("reference_frame_changed"));
}
void XRServer::_set_render_reference_frame(const Transform3D &p_reference_frame) {