Struct macroquad::camera::Camera3D

source ·
pub struct Camera3D {
    pub position: Vec3,
    pub target: Vec3,
    pub up: Vec3,
    pub fovy: f32,
    pub aspect: Option<f32>,
    pub projection: Projection,
    pub render_target: Option<RenderTarget>,
    pub viewport: Option<(i32, i32, i32, i32)>,
}

Fields§

§position: Vec3

Camera position.

§target: Vec3

Camera target it looks-at.

§up: Vec3

Camera up vector (rotation over its axis).

§fovy: f32

Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic.

§aspect: Option<f32>

Screen aspect ratio.

By default aspect is calculated with screen_width() / screen_height() on each frame.

§projection: Projection

Camera projection type, perspective or orthographics.

§render_target: Option<RenderTarget>

If “render_target” is set - camera will render to texture.

Otherwise to the screen.

§viewport: Option<(i32, i32, i32, i32)>

Part of the screen to render to.

None means the whole screen.

Viewport do not affect camera space, just the render position on the screen.

Useful for things like splitscreen.

Trait Implementations§

source§

impl Camera for Camera3D

source§

impl Debug for Camera3D

source§

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

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

impl Default for Camera3D

source§

fn default() -> Camera3D

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

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.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

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, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

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.
§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,