From f2dba05568f5f53c6ae606a7e9da8371bede8501 Mon Sep 17 00:00:00 2001 From: Julius Krumbiegel <22495855+jkrumbiegel@users.noreply.github.com> Date: Wed, 20 Dec 2023 11:01:18 +0100 Subject: [PATCH] Fix calculation of focal length for RPRMakie --- RPRMakie/src/scene.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/RPRMakie/src/scene.jl b/RPRMakie/src/scene.jl index 1e85771e6e2..65ff446771e 100644 --- a/RPRMakie/src/scene.jl +++ b/RPRMakie/src/scene.jl @@ -5,7 +5,6 @@ function update_rpr_camera!(oldvals, camera, cam_controls, cam) c = cam_controls l, u, p, fov = c.lookat[], c.upvector[], c.eyeposition[], c.fov[] far, near, res = c.far[], c.near[], cam.resolution[] - fov = 45f0 # The current camera ignores fov updates new_vals = (; l, u, p, fov, far, near, res) new_vals == oldvals && return oldvals wd = norm(l - p) @@ -14,8 +13,8 @@ function update_rpr_camera!(oldvals, camera, cam_controls, cam) lookat!(camera, p, l, u) RPR.rprCameraSetFarPlane(camera, far) RPR.rprCameraSetNearPlane(camera, near) - h = norm(res) - RPR.rprCameraSetFocalLength(camera, (30*h)/fov) + focal_length = res[2] / (2 * tand(fov / 2)) # fov is vertical + RPR.rprCameraSetFocalLength(camera, focal_length) # RPR_CAMERA_FSTOP # RPR_CAMERA_MODE return new_vals