Signed-off-by: Slendi <slendi@socopon.com>
This commit is contained in:
2025-10-03 19:13:14 +03:00
parent fc3c0aa7d9
commit 6a3ac37696

View File

@@ -1594,6 +1594,18 @@ static void handle_output_frame(struct wl_listener *listener, void *data)
if (!wm->xr.available && !wm->renderer.first_frame) {
wm->renderer.camera.target = SphericalToVector3(wm->wm.pointer);
Vector3 forward = Vector3Normalize(Vector3Subtract(
wm->renderer.camera.target, wm->renderer.camera.position));
Vector3 worldUp = (Vector3) { 0, 1, 0 };
if (fabsf(Vector3DotProduct(forward, worldUp)) > 0.999f) {
worldUp = (Vector3) { 0, 0, 1 };
}
Vector3 right = Vector3Normalize(Vector3CrossProduct(forward, worldUp));
wm->renderer.camera.up
= Vector3Normalize(Vector3CrossProduct(right, forward));
}
int const hud_size = wm->cman->cfg.displays.hud.size;