pub fn unproject_point(&self, ndc: &na::Point2<f32>) -> na::Point2<f32> {
        let unprojected = self.unproject_vec(&ndc.coords);
        self.view
            .inverse_transform_point(&na::Point2::from(unprojected))
    }
/// Unproject a point from normalized device coordinates (NDC) to world
/// space.
///
/// Points are logically a specific location in space. As such, the point's
/// coordinates will be transformed b ythe camera's location in world
/// space.
///
/// e.g. this method returns where the ndc point would *actually* be
/// located in world coordinates.
///
/// # Example
///
/// ```rust
/// # use draw2d::camera::*;
/// # use approx::assert_relative_eq;
/// # use nalgebra as na;
/// #
/// // a camera which is 3x as wide as it is tall
/// let mut ortho = OrthoCamera::with_viewport(2.0, 3.0);
///
/// // the camera's world position is ignored when unprojecting a vector
/// ortho.set_world_position(&na::Point2::new(100.0, -34523.0));
///
/// // Vulkan ndc coords have Y ranging from -1 at the top of the screen,
/// // to 1 at the bottom of the screen.
/// let bottom_left_ndc = na::Point2::new(-1.0, 1.0);
///
/// // The unprojected point should account for both the camera's viewing
/// // rectangle, and the camera's world position.
/// let unprojected = ortho.unproject_point(&bottom_left_ndc);
/// assert_relative_eq!(
///     unprojected,
///     na::Point2::new(-3.0, -1.0) + ortho.world_position().coords
/// );
/// ```
Unproject a point from normalized device coordinates (NDC) to world
space.

Points are logically a specific location in space. As such, the point's
coordinates will be transformed b ythe camera's location in world
space.


Unproject a point from normalized device coordinates ( NDC ) to world space . Points are logically a specific location in space . As such the point ' s coordinates will be transformed b ythe camera ' s location in world space .
pub fn unproject_point(&self, ndc: &na::Point2<f32>) -> na::Point2<f32> {
        let unprojected = self.unproject_vec(&ndc.coords);
        self.view
            .inverse_transform_point(&na::Point2::from(unprojected))
    }
pub fn unproject_point ( & self , ndc : & na :: Point2 < f32 > ) -> na :: Point2 < f32 > { let unprojected = self . unproject_vec ( & ndc . coords ) ; self . view . inverse_transform_point ( & na :: Point2 :: from ( unprojected ) ) }
Unproject a point from normalized device coordinates (NDC) to world
space.
Unproject a point from normalized device coordinates ( NDC ) to world space .
&self
ndc
&na::Point2<f32>
example
None
use draw2d::camera::*;
None
use approx::assert_relative_eq;
None
use nalgebra as na;
a camera which is 3x as wide as it is tall
let mut ortho = OrthoCamera::with_viewport(2.0, 3.0).

the camera's world position is ignored when unprojecting a vector
ortho.set_world_position(&na::Point2::new(100.0, -34523.0)).

Vulkan ndc coords have Y ranging from -1 at the top of the screen,
to 1 at the bottom of the screen.

The unprojected point should account for both the camera's viewing
rectangle, and the camera's world position.
let unprojected = ortho.unproject_point(⊥_left_ndc);
assert_relative_eq!(
unprojected,
na::Point2::new(-3.0, -1.0) + ortho.world_position().coords
);
```
a camera which is 3x as wide as it is tall let mut ortho = OrthoCamera :: with_viewport ( 2 . 0 3 . 0 ) . the camera ' s world position is ignored when unprojecting a vector ortho . set_world_position ( &na :: Point2 :: new ( 100 . 0 - 34523 . 0 )) . Vulkan ndc coords have Y ranging from - 1 at the top of the screen to 1 at the bottom of the screen . The unprojected point should account for both the camera ' s viewing rectangle and the camera ' s world position . let unprojected = ortho . unproject_point ( ⊥_left_ndc ) ; assert_relative_eq! ( unprojected na :: Point2 :: new ( - 3 . 0 - 1 . 0 ) + ortho . world_position () . coords ) ; ` ` `