Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_camera/src/lib.rs
6598 views
1
#![expect(missing_docs, reason = "Not all docs are written yet, see #3492.")]
2
mod camera;
3
mod clear_color;
4
mod components;
5
pub mod primitives;
6
mod projection;
7
pub mod visibility;
8
9
use bevy_ecs::schedule::SystemSet;
10
pub use camera::*;
11
pub use clear_color::*;
12
pub use components::*;
13
pub use projection::*;
14
15
use bevy_app::{App, Plugin};
16
17
#[derive(Default)]
18
pub struct CameraPlugin;
19
20
impl Plugin for CameraPlugin {
21
fn build(&self, app: &mut App) {
22
app.init_resource::<ClearColor>().add_plugins((
23
CameraProjectionPlugin,
24
visibility::VisibilityPlugin,
25
visibility::VisibilityRangePlugin,
26
));
27
}
28
}
29
30
/// The camera prelude.
31
///
32
/// This includes the most common types in this crate, re-exported for your convenience.
33
pub mod prelude {
34
#[doc(hidden)]
35
pub use crate::{
36
visibility::{InheritedVisibility, ViewVisibility, Visibility},
37
Camera, Camera2d, Camera3d, ClearColor, ClearColorConfig, OrthographicProjection,
38
PerspectiveProjection, Projection,
39
};
40
}
41
42
/// Label for `camera_system<T>`, shared across all `T`.
43
#[derive(SystemSet, Clone, Eq, PartialEq, Hash, Debug)]
44
pub struct CameraUpdateSystems;
45
46
/// Deprecated alias for [`CameraUpdateSystems`].
47
#[deprecated(since = "0.17.0", note = "Renamed to `CameraUpdateSystems`.")]
48
pub type CameraUpdateSystem = CameraUpdateSystems;
49
50