bevy_core_pipeline/core_2d/
camera_2d.rs

1use crate::{
2    core_2d::graph::Core2d,
3    tonemapping::{DebandDither, Tonemapping},
4};
5use bevy_ecs::prelude::*;
6use bevy_reflect::{std_traits::ReflectDefault, Reflect};
7use bevy_render::{
8    camera::{Camera, CameraProjection, CameraRenderGraph, OrthographicProjection, Projection},
9    extract_component::ExtractComponent,
10    primitives::Frustum,
11};
12use bevy_transform::prelude::{GlobalTransform, Transform};
13
14/// A 2D camera component. Enables the 2D render graph for a [`Camera`].
15#[derive(Component, Default, Reflect, Clone, ExtractComponent)]
16#[extract_component_filter(With<Camera>)]
17#[reflect(Component, Default, Clone)]
18#[require(
19    Camera,
20    DebandDither,
21    CameraRenderGraph::new(Core2d),
22    Projection::Orthographic(OrthographicProjection::default_2d()),
23    Frustum = OrthographicProjection::default_2d().compute_frustum(&GlobalTransform::from(Transform::default())),
24    Tonemapping::None,
25)]
26pub struct Camera2d;