diff options
Diffstat (limited to 'engine/src/camera.rs')
| -rw-r--r-- | engine/src/camera.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engine/src/camera.rs b/engine/src/camera.rs index b697ee3..4a7768b 100644 --- a/engine/src/camera.rs +++ b/engine/src/camera.rs @@ -1,4 +1,5 @@ use crate::ecs::Component; +use crate::matrix::Matrix; use crate::projection::{Perspective, Projection}; use crate::reflection::Reflection; use crate::vector::Vec3; @@ -13,6 +14,18 @@ pub struct Camera pub projection: Projection, } +impl Camera +{ + pub fn to_view_matrix(&self, camera_world_pos: Vec3<f32>) -> Matrix<f32, 4, 4> + { + let mut view = Matrix::new(); + + view.look_at(camera_world_pos, self.target, self.global_up); + + view + } +} + impl Default for Camera { fn default() -> Self |
