Struct rin_graphics::ortho_camera::OrthoCamera[][src]

pub struct OrthoCamera { /* fields omitted */ }

Orthographic camera

Implementations

impl OrthoCamera[src]

pub fn new(
    eye: Pnt3,
    look_at: Pnt3,
    up: Unit<Vec3>,
    aspect_ratio: f32
) -> Result<OrthoCamera>
[src]

pub fn new_with_frustum(
    eye: Pnt3,
    look_at: Pnt3,
    up: Unit<Vec3>,
    left: f32,
    right: f32,
    bottom: f32,
    top: f32,
    znear: f32,
    zfar: f32
) -> Result<OrthoCamera>
[src]

Creates a new camera from frustrum values.

pub fn with_pixel_coordinates(
    size: Vec2<i32>,
    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) -> Mat4[src]

Projection matrix

pub fn view(&self) -> Mat4[src]

View matrix

pub fn projection_view(&self) -> Mat4[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) -> &Pnt3[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: Pnt3)[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: Into<Option<Vec4>>>(&mut self, plane: P)[src]

Changes the projection matrix to set an oblique clip plane

Useful for reflections / refractions

pub fn oblique_clip_plane(&self) -> Option<&Vec4>[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> 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]