pub struct Camera {
pub projection: Option<ProjectionMethod>,
pub position: Vector3F32,
pub rotation: QuaternionF32,
pub depth_range: Range<f32>,
}Expand description
A camera
§Examples
let c = Camera {
projection: Some(ProjectionMethod::Orthographic { size: 5.0 }),
position: Vector3::ZERO, rotation: Quaternion::ONE,
depth_range: 1.0 .. 9.0
};
let (mv, mp) = c.matrixes(1.0);
assert_eq!(mv.clone() * Vector3(5.0, 0.0, 1.0), Vector4(5.0, 0.0, 1.0, 1.0));
assert_eq!(mp * mv * Vector3(5.0, 0.0, 1.0), Vector4(1.0, 0.0, 0.0, 1.0));Fields§
§projection: Option<ProjectionMethod>Projection method of the camera. None indicates no projection(only adjust aspect ratio)
position: Vector3F32Eye position of the camera.
rotation: QuaternionF32Eye direction of the camera.
depth_range: Range<f32>Z range to be rendered.
Implementations§
Source§impl Camera
impl Camera
Sourcepub fn projection_matrix(&self, aspect_wh: f32) -> Matrix4F32
pub fn projection_matrix(&self, aspect_wh: f32) -> Matrix4F32
calculates the camera projection matrix
Sourcepub fn view_matrix(&self) -> Matrix4F32
pub fn view_matrix(&self) -> Matrix4F32
calculates the camera view matrix
Sourcepub fn view_projection_matrix(&self, aspect_wh: f32) -> Matrix4F32
pub fn view_projection_matrix(&self, aspect_wh: f32) -> Matrix4F32
calculates the camera transform(view and projection) matrix
Sourcepub fn matrixes(&self, aspect_wh: f32) -> (Matrix4F32, Matrix4F32)
pub fn matrixes(&self, aspect_wh: f32) -> (Matrix4F32, Matrix4F32)
calculates the camera view matrix and the projection matrix(returns in this order)
Sourcepub fn look_at(&mut self, target: Vector3F32)
pub fn look_at(&mut self, target: Vector3F32)
Sets rotation of the camera to look at a point
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Camera
impl RefUnwindSafe for Camera
impl Send for Camera
impl Sync for Camera
impl Unpin for Camera
impl UnwindSafe for Camera
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more