Shift chunks where they are supposed to be

This commit is contained in:
2022-10-22 21:19:58 +02:00
parent 655978efc2
commit e36ce58f75
3 changed files with 52 additions and 27 deletions
+23 -21
View File
@@ -16,9 +16,9 @@ pub struct CameraState {
impl CameraState {
pub fn new() -> CameraState {
CameraState {
aspect_ratio: 1024.0 / 768.0,
position: (0.1, 0.1, 1.0),
aspect_ratio: 1_024.0 / 768.0,
// The second coordinate is for the altitude.
position: (3_646.41, 10.3622, 13_113.7),
direction: (0.0, 0.0, -1.0),
moving_up: false,
moving_left: false,
@@ -33,7 +33,7 @@ impl CameraState {
pub fn get_perspective(&self) -> [[f32; 4]; 4] {
let fov: f32 = 3.141592 / 2.0;
let zfar = 8000.0;
let zfar = 53_209.0;
let znear = 0.01;
let f = 1.0 / (fov / 2.0).tan();
@@ -118,40 +118,42 @@ impl CameraState {
s.0 * f.1 - s.1 * f.0,
);
const SPEED: f32 = 1.0; //0.01;
if self.moving_up {
self.position.0 += u.0 * 0.01;
self.position.1 += u.1 * 0.01;
self.position.2 += u.2 * 0.01;
self.position.0 += u.0 * SPEED;
self.position.1 += u.1 * SPEED;
self.position.2 += u.2 * SPEED;
}
if self.moving_left {
self.position.0 -= s.0 * 0.01;
self.position.1 -= s.1 * 0.01;
self.position.2 -= s.2 * 0.01;
self.position.0 -= s.0 * SPEED;
self.position.1 -= s.1 * SPEED;
self.position.2 -= s.2 * SPEED;
}
if self.moving_down {
self.position.0 -= u.0 * 0.01;
self.position.1 -= u.1 * 0.01;
self.position.2 -= u.2 * 0.01;
self.position.0 -= u.0 * SPEED;
self.position.1 -= u.1 * SPEED;
self.position.2 -= u.2 * SPEED;
}
if self.moving_right {
self.position.0 += s.0 * 0.01;
self.position.1 += s.1 * 0.01;
self.position.2 += s.2 * 0.01;
self.position.0 += s.0 * SPEED;
self.position.1 += s.1 * SPEED;
self.position.2 += s.2 * SPEED;
}
if self.moving_forward {
self.position.0 += f.0 * 0.01;
self.position.1 += f.1 * 0.01;
self.position.2 += f.2 * 0.01;
self.position.0 += f.0 * SPEED;
self.position.1 += f.1 * SPEED;
self.position.2 += f.2 * SPEED;
}
if self.moving_backward {
self.position.0 -= f.0 * 0.01;
self.position.1 -= f.1 * 0.01;
self.position.2 -= f.2 * 0.01;
self.position.0 -= f.0 * SPEED;
self.position.1 -= f.1 * SPEED;
self.position.2 -= f.2 * SPEED;
}
if self.rotate_left {