summaryrefslogtreecommitdiffstats
path: root/servers
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-29 22:13:56 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-29 22:13:56 +0200
commitd1f6d4c8c3c56206c0fd0679012160fd2d5d94cd (patch)
tree9aff374c0cf3b7c6cfc82390053daef6d20f47bb /servers
parent76237c5f9bee9895d0913d55a064e95716d86800 (diff)
parent6a8f2f00ac41d8977b0085203980f889a9644e23 (diff)
downloadredot-engine-d1f6d4c8c3c56206c0fd0679012160fd2d5d94cd.tar.gz
Merge pull request #92339 from devloglogan/comp-layer-reference-frame
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) {