Struct rin::graphics::OrthoCamera[][src]

pub struct OrthoCamera { /* fields omitted */ }

Orthographic camera

Implementations

impl OrthoCamera[src]

pub fn new(
    eye: Point<f32, U3>,
    look_at: Point<f32, U3>,
    up: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
    aspect_ratio: f32
) -> Result<OrthoCamera, Error>
[src]

pub fn new_with_frustum(
    eye: Point<f32, U3>,
    look_at: Point<f32, U3>,
    up: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
    left: f32,
    right: f32,
    bottom: f32,
    top: f32,
    znear: f32,
    zfar: f32
) -> Result<OrthoCamera, Error>
[src]

Creates a new camera from frustrum values.

pub fn with_pixel_coordinates(
    size: Matrix<i32, U2, U1, <DefaultAllocator as Allocator<i32, U2, U1>>::Buffer>,
    coordinate_origin: CoordinateOrigin
) -> OrthoCamera
[src]

Creates an orthographic camera ready to be used in two dimensional applications

The resulting view will have the same coordinates as the passed size and everything drawn at z = 0 within that viewport will be visible at it’s size in pixels

pub fn projection(
    &self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
[src]

Projection matrix

pub fn view(
    &self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
[src]

View matrix

pub fn projection_view(
    &self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
[src]

Projection * View

pub fn near_far_clip(&self) -> (f32, f32)[src]

Near and far clip planes as a tuple

pub fn near_clip(&self) -> f32[src]

Near clip

pub fn far_clip(&self) -> f32[src]

Far clip

pub fn set_near(&mut self, near: f32)[src]

pub fn set_far(&mut self, far: f32)[src]

pub fn set_near_far(&mut self, near: f32, far: f32)[src]

pub fn set_aspect_ratio(&mut self, aspect: f32)[src]

pub fn target(&self) -> &Point<f32, U3>[src]

Target the camera will look at, the target will change if the camera is moved or re-oriented

pub fn set_target(&mut self, target: Point<f32, U3>)[src]

pub fn left(&self) -> f32[src]

Left most distance of the camera frustum from the camera

pub fn right(&self) -> f32[src]

Right most distance of the camera frustum from the camera

pub fn bottom(&self) -> f32[src]

Bottom most distance of the camera frustum from the camera

pub fn top(&self) -> f32[src]

Top most distance of the camera frustum from the camera

pub fn set_left(&mut self, left: f32)[src]

pub fn set_right(&mut self, right: f32)[src]

pub fn set_bottom(&mut self, bottom: f32)[src]

pub fn set_top(&mut self, top: f32)[src]

pub fn set_reversed_z(&mut self, reversed_z: bool)[src]

pub fn enable_depth_clamp(&mut self)[src]

Enables depth clamping

Doesn’t really change the projection or view matrices of the camera but can be use as a flag to signal a renderer to do depth clamping.

pub fn disable_depth_clamp(&mut self)[src]

Disables depth clamping

Doesn’t really change the projection or view matrices of the camera but can be use as a flag to signal a renderer to not do depth clamping.

pub fn depth_clamp(&self) -> bool[src]

Returns if depth clamping is enabled

Doesn’t really change the projection or view matrices of the camera but can be use as a flag to signal a renderer to do depth clamping or not.

pub fn reversed_z(&self) -> bool[src]

pub fn set_oblique_near_clip_plane<P>(&mut self, plane: P) where
    P: Into<Option<Matrix<f32, U4, U1, <DefaultAllocator as Allocator<f32, U4, U1>>::Buffer>>>, 
[src]

Changes the projection matrix to set an oblique clip plane

Useful for reflections / refractions

pub fn oblique_clip_plane(
    &self
) -> Option<&Matrix<f32, U4, U1, <DefaultAllocator as Allocator<f32, U4, U1>>::Buffer>>
[src]

pub fn update(&mut self) -> bool[src]

Call every frame to update the camera matrices

Returns true if the camera changed since the last udpate

Trait Implementations

impl CameraExt for OrthoCamera[src]

impl CameraOrthographic for OrthoCamera[src]

impl NodeMut for OrthoCamera[src]

impl NodeRef for OrthoCamera[src]

Auto Trait Implementations

impl RefUnwindSafe for OrthoCamera

impl Send for OrthoCamera

impl Sync for OrthoCamera

impl Unpin for OrthoCamera

impl UnwindSafe for OrthoCamera

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]