pub struct OrthogonalCamera {
    aspect_ratio: f32,
    tranformation: Transformation,
}
Expand description

A camera implementing an orthogonal 3D -> 2D projection.

This class implements an observer seeing the world through an orthogonal projection.

Fields§

§aspect_ratio: f32

Aspect Ratio.

§tranformation: Transformation

Transformation to apply to Ray.

Implementations§

source§

impl OrthogonalCamera

source

pub fn new(aspect_ratio: f32, tranformation: Transformation) -> Self

Create a new orthographic camera.

The parameter aspect_ratio defines how larger than the height is the image.
For full screen images, you should probably set aspect_ratio to 16/9,
as this is the most used aspect ratio used in modern monitors.

The transformation parameter is an instance of the Transformation.

Trait Implementations§

source§

impl Clone for OrthogonalCamera

source§

fn clone(&self) -> OrthogonalCamera

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for OrthogonalCamera

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for OrthogonalCamera

source§

fn default() -> OrthogonalCamera

Returns the “default value” for a type. Read more
source§

impl FireRay for OrthogonalCamera

source§

fn fire_ray(&self, u: f32, v: f32) -> Ray

Shoot a Ray through the camera’s screen.

The coordinates (u, v) specify the point on the screen where the ray crosses it.

Coordinates:

  • (0, 0) represent the bottom-left corner
  • (0, 1) the top-left corner
  • (1, 0) the bottom-right corner
  • (1, 1) the top-right corner
 (0, 1)                          (1, 1)
    +------------------------------+
    |                              |
    |                              |
    |                              |
    +------------------------------+
 (0, 0)                          (1, 0)
source§

impl PartialEq for OrthogonalCamera

source§

fn eq(&self, other: &OrthogonalCamera) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for OrthogonalCamera

source§

impl StructuralPartialEq for OrthogonalCamera

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.