logo
pub struct OrthographicCameraBundle<M> where
    M: Component
{ pub camera: Camera, pub orthographic_projection: OrthographicProjection, pub visible_entities: VisibleEntities, pub frustum: Frustum, pub transform: Transform, pub global_transform: GlobalTransform, pub marker: M, }
Expand description

Component bundle for camera entities with orthographic projection

Use this for 2D games, isometric games, CAD-like 3D views.

Fields

camera: Cameraorthographic_projection: OrthographicProjectionvisible_entities: VisibleEntitiesfrustum: Frustumtransform: Transformglobal_transform: GlobalTransformmarker: M

Implementations

Create an orthographic projection camera to render 2D content.

The projection creates a camera space where X points to the right of the screen, Y points to the top of the screen, and Z points out of the screen (backward), forming a right-handed coordinate system. The center of the screen is at X=0 and Y=0.

The default scaling mode is ScalingMode::WindowSize, resulting in a resolution where 1 unit in X and Y in camera space corresponds to 1 logical pixel on the screen. That is, for a screen of 1920 pixels in width, the X coordinates visible on screen go from X=-960 to X=+960 in world space, left to right. This can be changed by changing the OrthographicProjection::scaling_mode field.

The camera is placed at Z=+1000-0.1, looking toward the world origin (0,0,0). Its orthographic projection extends from 0.0 to -1000.0 in camera view space, corresponding to Z=+999.9 (closest to camera) to Z=-0.1 (furthest away from camera) in world space.

Trait Implementations

SAFE: ComponentId is returned in field-definition-order. [from_components] and [get_components] use field-definition-order

Gets this Bundle’s component ids, in the order of this bundle’s Components

Calls func, which should return data for each component in the bundle, in the order of this bundle’s Components Read more

Calls func on each value, in the order of this bundle’s Components. This will std::mem::forget the bundle fields, so callers are responsible for dropping the fields if that is desirable. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more