diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-05-15 18:14:14 +0200 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-05-15 18:14:14 +0200 |
commit | 6f887d475d32f32ebdd1f914f5067031b12d025d (patch) | |
tree | 95800ba09223eb2107d95181bee53dde7733749e /src/gfx/state.rs | |
parent | f1e5cdf25d1fd905fa307232124c361851b51758 (diff) | |
download | mt_client-6f887d475d32f32ebdd1f914f5067031b12d025d.tar.xz |
Frustum culling
Diffstat (limited to 'src/gfx/state.rs')
-rw-r--r-- | src/gfx/state.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gfx/state.rs b/src/gfx/state.rs index 43ac41c..1af6653 100644 --- a/src/gfx/state.rs +++ b/src/gfx/state.rs @@ -1,5 +1,6 @@ use super::util::MatrixUniform; use cgmath::{prelude::*, Deg, Matrix4, Rad}; +use collision::Frustum; use fps_camera::{FirstPerson, FirstPersonSettings}; use std::time::Duration; @@ -11,6 +12,7 @@ pub struct State { pub fov: Rad<f32>, pub view: Matrix4<f32>, pub proj: Matrix4<f32>, + pub frustum: Frustum<f32>, pub camera: FirstPerson, pub camera_uniform: MatrixUniform, pub camera_bind_group_layout: wgpu::BindGroupLayout, @@ -100,6 +102,7 @@ impl State { fov: Deg(90.0).into(), proj: Matrix4::identity(), view: Matrix4::identity(), + frustum: Frustum::from_matrix4(Matrix4::identity()).unwrap(), camera, camera_uniform, camera_bind_group_layout, @@ -174,6 +177,7 @@ impl State { 0.1, 100000.0, ); + self.frustum = Frustum::from_matrix4(self.proj).unwrap(); } pub fn update(&mut self, dt: Duration) { |