From 2d133b4636831bef66880f7bf53121dd7c3eabd8 Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Tue, 6 Feb 2024 01:57:51 +0100 Subject: [PATCH] upright screens take 4 --- src/backend/openxr/overlay.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/backend/openxr/overlay.rs b/src/backend/openxr/overlay.rs index 0f09a3d..ce51cd0 100644 --- a/src/backend/openxr/overlay.rs +++ b/src/backend/openxr/overlay.rs @@ -53,9 +53,15 @@ impl OverlayData { let sub_image = data.acquire_present_release(command_buffer, my_view); let posef = helpers::transform_to_posef(&self.state.transform); - let scale_x = self.state.transform.matrix3.col(0).length(); let aspect_ratio = extent[1] as f32 / extent[0] as f32; - let scale_y = scale_x * aspect_ratio; + + let (scale_x, scale_y) = if aspect_ratio < 1.0 { + let major = self.state.transform.matrix3.col(0).length(); + (major, major * aspect_ratio) + } else { + let major = self.state.transform.matrix3.col(1).length(); + (major / aspect_ratio, major) + }; let quad = xr::CompositionLayerQuad::new() .pose(posef)