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