pub struct Camera3D {
pub position: Vec3,
pub rotation: Quat,
pub projection: Projection,
pub aspect: f32,
}Fields§
§position: Vec3§rotation: Quat§projection: Projection§aspect: f32Implementations§
Source§impl Camera3D
impl Camera3D
pub fn perspective(fov_y_deg: f32, aspect: f32, near: f32, far: f32) -> Self
pub fn orthographic(half_width: f32, aspect: f32, near: f32, far: f32) -> Self
pub fn forward(&self) -> Vec3
pub fn right(&self) -> Vec3
pub fn up(&self) -> Vec3
pub fn look_at(&mut self, target: Vec3, world_up: Vec3)
pub fn view_matrix(&self) -> Mat4
pub fn projection_matrix(&self) -> Mat4
pub fn view_proj(&self) -> Mat4
Sourcepub fn unproject_ray(&self, ndc_x: f32, ndc_y: f32) -> Ray3
pub fn unproject_ray(&self, ndc_x: f32, ndc_y: f32) -> Ray3
Unproject a screen-space point [−1,1]×[−1,1] into a world-space ray.
pub fn move_forward(&mut self, dist: f32)
pub fn move_right(&mut self, dist: f32)
pub fn move_up(&mut self, dist: f32)
pub fn orbit(&mut self, target: Vec3, yaw: f32, pitch: f32)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Camera3D
impl<'de> Deserialize<'de> for Camera3D
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Camera3D
impl RefUnwindSafe for Camera3D
impl Send for Camera3D
impl Sync for Camera3D
impl Unpin for Camera3D
impl UnsafeUnpin for Camera3D
impl UnwindSafe for Camera3D
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more