Struct nalgebra::Persp3 [] [src]

pub struct Persp3<N> {
    // some fields omitted
}

A 3D perspective projection stored without any matrix.

This maps a frustrum cube to the unit cube with corners varying from (-1, -1, -1) to (1, 1, 1). Reading or modifying its individual properties is cheap but applying the transformation is costly.

Methods

impl<N: BaseFloat> Persp3<N>
[src]

fn new(aspect: N, fovy: N, znear: N, zfar: N) -> Persp3<N>

Creates a new 3D perspective projection.

fn to_mat(&self) -> Mat4<N>

Builds a 4D projection matrix (using homogeneous coordinates) for this projection.

fn to_persp_mat(&self) -> PerspMat3<N>

Build a PerspMat3 representing this projection.

impl<N: BaseFloat + Clone> Persp3<N>
[src]

fn aspect(&self) -> N

Gets the width / height aspect ratio.

fn fovy(&self) -> N

Gets the y field of view of the view frustrum.

fn znear(&self) -> N

Gets the near plane offset of the view frustrum.

fn zfar(&self) -> N

Gets the far plane offset of the view frustrum.

fn set_aspect(&mut self, aspect: N)

Sets the width / height aspect ratio of the view frustrum.

This method does not build any matrix.

fn set_fovy(&mut self, fovy: N)

Sets the y field of view of the view frustrum.

This method does not build any matrix.

fn set_znear(&mut self, znear: N)

Sets the near plane offset of the view frustrum.

This method does not build any matrix.

fn set_zfar(&mut self, zfar: N)

Sets the far plane offset of the view frustrum.

This method does not build any matrix.

fn project_pnt(&self, p: &Pnt3<N>) -> Pnt3<N>

Projects a point.

fn project_vec(&self, p: &Vec3<N>) -> Vec3<N>

Projects a vector.

Trait Implementations

impl<N: Copy> Copy for Persp3<N>
[src]

impl<N: Debug> Debug for Persp3<N>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<N: Clone> Clone for Persp3<N>
[src]

fn clone(&self) -> Persp3<N>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<N: Decodable> Decodable for Persp3<N>
[src]

fn decode<__DN: Decoder>(__arg_0: &mut __DN) -> Result<Persp3<N>, __DN::Error>

impl<N: Encodable> Encodable for Persp3<N>
[src]

fn encode<__SN: Encoder>(&self, __arg_0: &mut __SN) -> Result<(), __SN::Error>

impl<N: PartialEq> PartialEq for Persp3<N>
[src]

fn eq(&self, __arg_0: &Persp3<N>) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &Persp3<N>) -> bool

This method tests for !=.

impl<N: Eq> Eq for Persp3<N>
[src]