use ecs::Component; use crate::projection::{Perspective, Projection}; use crate::vector::Vec3; pub mod fly; #[derive(Debug, Component)] pub struct Camera { pub target: Vec3, pub global_up: Vec3, pub projection: Projection, } impl Default for Camera { fn default() -> Self { Self { target: Vec3::default(), global_up: Vec3::UP, projection: Projection::Perspective(Perspective::default()), } } } /// Marker component for cameras that are active. #[derive(Debug, Default, Clone, Copy, Component)] pub struct Active;