summaryrefslogtreecommitdiffstats
path: root/src/tacmap/camera.rs
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-05-05 09:55:30 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-05-05 09:55:30 -0400
commitd67fca88b17120566a93004c99dadeef0a61964b (patch)
tree63aeffab1044064d0e9a6b3b651ad05cbe420499 /src/tacmap/camera.rs
parentbe2cf936ca48f3d638c3ef01f4e338dfc904c5e3 (diff)
downloadsystemic4x-d67fca88b17120566a93004c99dadeef0a61964b.tar.gz
systemic4x-d67fca88b17120566a93004c99dadeef0a61964b.tar.bz2
systemic4x-d67fca88b17120566a93004c99dadeef0a61964b.zip
fix label rendering over large bodies
Diffstat (limited to 'src/tacmap/camera.rs')
-rw-r--r--src/tacmap/camera.rs21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/tacmap/camera.rs b/src/tacmap/camera.rs
index ada36ee..5efc24c 100644
--- a/src/tacmap/camera.rs
+++ b/src/tacmap/camera.rs
@@ -1,16 +1,12 @@
-use std::{cell::RefCell, time::Duration};
+use std::time::Duration;
-use cgmath::{EuclideanSpace, InnerSpace, Point2, Point3, Rad, Vector2, Vector3, Vector4, Zero, perspective};
-use winit::{event::ElementState, keyboard::KeyCode};
+use cgmath::{InnerSpace, Point3, Rad, Vector2, Vector3, perspective};
+use winit::event::ElementState;
+use winit::keyboard::KeyCode;
-use crate::{GameState, solar_system::{self, Kilometers, SolarSystem}, ui, wgpuctx::WgpuCtx};
-
-pub const OPENGL_TO_WGPU_MATRIX: cgmath::Matrix4<f32> = cgmath::Matrix4::from_cols(
- Vector4::new(1.0, 0.0, 0.0, 0.0),
- Vector4::new(0.0, 1.0, 0.0, 0.0),
- Vector4::new(0.0, 0.0, 0.5, 0.0),
- Vector4::new(0.0, 0.0, 0.5, 1.0)
-);
+use crate::solar_system::{self, BodyId, Kilometers, SolarSystem};
+use crate::ui;
+use crate::wgpuctx::WgpuCtx;
pub struct Camera
{
@@ -268,11 +264,8 @@ impl CameraController
let dt = dt.as_secs_f32();
let speed = 1.0;
- let current_radius = camera.rel_position.magnitude();
-
let polar_diff = (self.position_pos_delta.z - self.position_neg_delta.z) * speed * dt;
let azimuth_diff = (self.position_pos_delta.x - self.position_neg_delta.x) * speed * dt;
- let dist_diff = (self.position_pos_delta.y - self.position_neg_delta.y) * speed * dt;
let polar_final = camera.pitch.0 + polar_diff;
let polar_cap = Into::<Rad<f32>>::into(cgmath::Deg(89.999)).0;