bevy_core_pipeline/
lib.rs1#![expect(missing_docs, reason = "Not all docs are written yet, see #3492.")]
2#![forbid(unsafe_code)]
3#![cfg_attr(docsrs, feature(doc_auto_cfg))]
4#![doc(
5 html_logo_url = "https://bevyengine.org/assets/icon.png",
6 html_favicon_url = "https://bevyengine.org/assets/icon.png"
7)]
8
9pub mod auto_exposure;
10pub mod blit;
11pub mod bloom;
12pub mod contrast_adaptive_sharpening;
13pub mod core_2d;
14pub mod core_3d;
15pub mod deferred;
16pub mod dof;
17pub mod experimental;
18pub mod fullscreen_vertex_shader;
19pub mod fxaa;
20pub mod motion_blur;
21pub mod msaa_writeback;
22pub mod oit;
23pub mod post_process;
24pub mod prepass;
25mod skybox;
26pub mod smaa;
27mod taa;
28pub mod tonemapping;
29pub mod upscaling;
30
31pub use skybox::Skybox;
32
33pub mod prelude {
37 #[doc(hidden)]
38 pub use crate::{core_2d::Camera2d, core_3d::Camera3d};
39}
40
41use crate::{
42 blit::BlitPlugin,
43 bloom::BloomPlugin,
44 contrast_adaptive_sharpening::CasPlugin,
45 core_2d::Core2dPlugin,
46 core_3d::Core3dPlugin,
47 deferred::copy_lighting_id::CopyDeferredLightingIdPlugin,
48 dof::DepthOfFieldPlugin,
49 experimental::mip_generation::MipGenerationPlugin,
50 fullscreen_vertex_shader::FULLSCREEN_SHADER_HANDLE,
51 fxaa::FxaaPlugin,
52 motion_blur::MotionBlurPlugin,
53 msaa_writeback::MsaaWritebackPlugin,
54 post_process::PostProcessingPlugin,
55 prepass::{DeferredPrepass, DepthPrepass, MotionVectorPrepass, NormalPrepass},
56 smaa::SmaaPlugin,
57 tonemapping::TonemappingPlugin,
58 upscaling::UpscalingPlugin,
59};
60use bevy_app::{App, Plugin};
61use bevy_asset::load_internal_asset;
62use bevy_render::prelude::Shader;
63use oit::OrderIndependentTransparencyPlugin;
64
65#[derive(Default)]
66pub struct CorePipelinePlugin;
67
68impl Plugin for CorePipelinePlugin {
69 fn build(&self, app: &mut App) {
70 load_internal_asset!(
71 app,
72 FULLSCREEN_SHADER_HANDLE,
73 "fullscreen_vertex_shader/fullscreen.wgsl",
74 Shader::from_wgsl
75 );
76
77 app.register_type::<DepthPrepass>()
78 .register_type::<NormalPrepass>()
79 .register_type::<MotionVectorPrepass>()
80 .register_type::<DeferredPrepass>()
81 .add_plugins((Core2dPlugin, Core3dPlugin, CopyDeferredLightingIdPlugin))
82 .add_plugins((
83 BlitPlugin,
84 MsaaWritebackPlugin,
85 TonemappingPlugin,
86 UpscalingPlugin,
87 BloomPlugin,
88 FxaaPlugin,
89 CasPlugin,
90 MotionBlurPlugin,
91 DepthOfFieldPlugin,
92 SmaaPlugin,
93 PostProcessingPlugin,
94 OrderIndependentTransparencyPlugin,
95 MipGenerationPlugin,
96 ));
97 }
98}