Struct cam::Camera
[−]
[src]
pub struct Camera<T = f32> { pub position: Vector3<T>, pub up: Vector3<T>, pub right: Vector3<T>, pub forward: Vector3<T>, }
Models a camera with position and directions.
Fields
position: Vector3<T>
The camera position.
up: Vector3<T>
The up direction.
right: Vector3<T>
The right direction.
forward: Vector3<T>
The forward direction.
Methods
impl<T: Float + Copy> Camera<T>
[src]
fn new(position: Vector3<T>) -> Camera<T>
Constructs a new camera.
Places the camera at [x, y, z], looking towards pozitive z.
fn orthogonal(&self) -> Matrix4<T>
Computes an orthogonal matrix for the camera.
This matrix can be used to transform coordinates to the screen.
fn look_at(&mut self, point: Vector3<T>)
Orients the camera to look at a point.
fn set_yaw_pitch(&mut self, yaw: T, pitch: T)
Sets yaw and pitch angle of camera in radians.
fn set_rotation(&mut self, rotation: Quaternion<T>)
Sets forward, up, and right vectors from a Quaternion rotation relative to the positive z-axis