diff --git a/crates/bevy_core_pipeline/src/tonemapping/mod.rs b/crates/bevy_core_pipeline/src/tonemapping/mod.rs index 3702e28b030bc..3af2ecedccb18 100644 --- a/crates/bevy_core_pipeline/src/tonemapping/mod.rs +++ b/crates/bevy_core_pipeline/src/tonemapping/mod.rs @@ -7,7 +7,7 @@ use bevy_app::prelude::*; use bevy_asset::{load_internal_asset, HandleUntyped}; use bevy_ecs::prelude::*; use bevy_ecs::query::QueryItem; -use bevy_reflect::TypeUuid; +use bevy_reflect::{Reflect, TypeUuid}; use bevy_render::camera::Camera; use bevy_render::extract_component::{ExtractComponent, ExtractComponentPlugin}; use bevy_render::renderer::RenderDevice; @@ -37,6 +37,8 @@ impl Plugin for TonemappingPlugin { Shader::from_wgsl ); + app.register_type::(); + app.add_plugin(ExtractComponentPlugin::::default()); if let Ok(render_app) = app.get_sub_app_mut(RenderApp) { @@ -104,7 +106,8 @@ impl FromWorld for TonemappingPipeline { } } -#[derive(Component, Clone)] +#[derive(Component, Clone, Reflect, Default)] +#[reflect(Component)] pub struct Tonemapping { pub is_enabled: bool, } diff --git a/crates/bevy_pbr/src/lib.rs b/crates/bevy_pbr/src/lib.rs index c9d7e7c3f77bf..de10b2f7f5b9f 100644 --- a/crates/bevy_pbr/src/lib.rs +++ b/crates/bevy_pbr/src/lib.rs @@ -130,6 +130,9 @@ impl Plugin for PbrPlugin { .register_asset_reflect::() .register_type::() .register_type::() + .register_type::() + .register_type::() + .register_type::() .register_type::() .add_plugin(MeshRenderPlugin) .add_plugin(MaterialPlugin::::default()) diff --git a/crates/bevy_pbr/src/light.rs b/crates/bevy_pbr/src/light.rs index e57521da41cdd..69188850f535b 100644 --- a/crates/bevy_pbr/src/light.rs +++ b/crates/bevy_pbr/src/light.rs @@ -308,7 +308,7 @@ pub enum SimulationLightSystems { /// Configure the far z-plane mode used for the furthest depth slice for clustered forward /// rendering -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, Reflect, FromReflect)] pub enum ClusterFarZMode { /// Calculate the required maximum z-depth based on currently visible lights. /// Makes better use of available clusters, speeding up GPU lighting operations @@ -320,7 +320,8 @@ pub enum ClusterFarZMode { } /// Configure the depth-slicing strategy for clustered forward rendering -#[derive(Debug, Copy, Clone)] +#[derive(Debug, Copy, Clone, Reflect, FromReflect)] +#[reflect(Default)] pub struct ClusterZConfig { /// Far `Z` plane of the first depth slice pub first_slice_depth: f32, @@ -338,7 +339,8 @@ impl Default for ClusterZConfig { } /// Configuration of the clustering strategy for clustered forward rendering -#[derive(Debug, Copy, Clone, Component)] +#[derive(Debug, Copy, Clone, Component, Reflect)] +#[reflect(Component)] pub enum ClusterConfig { /// Disable light cluster calculations for this view None,