diff --git a/crates/bevy_pbr/src/lib.rs b/crates/bevy_pbr/src/lib.rs index fc7a5b2c061ce..33c761bfcd960 100644 --- a/crates/bevy_pbr/src/lib.rs +++ b/crates/bevy_pbr/src/lib.rs @@ -1,3 +1,5 @@ +use bevy_math::Vec2; + pub mod render_graph; mod entity; @@ -48,6 +50,7 @@ impl Plugin for PbrPlugin { albedo: Color::PINK, shaded: false, albedo_texture: None, + pbr: Vec2::new(0.01, 0.08), }, ); } diff --git a/crates/bevy_pbr/src/material.rs b/crates/bevy_pbr/src/material.rs index 34a7a041e668b..68beb11a685ed 100644 --- a/crates/bevy_pbr/src/material.rs +++ b/crates/bevy_pbr/src/material.rs @@ -1,7 +1,7 @@ use bevy_asset::{self, Handle}; +use bevy_math::Vec2; use bevy_reflect::TypeUuid; use bevy_render::{color::Color, renderer::RenderResources, shader::ShaderDefs, texture::Texture}; -use bevy_math::Vec2; /// A material with "standard" properties used in PBR lighting #[derive(Debug, RenderResources, ShaderDefs, TypeUuid)] @@ -21,7 +21,7 @@ impl Default for StandardMaterial { fn default() -> Self { StandardMaterial { albedo: Color::rgb(1.0, 1.0, 1.0), - pbr: Vec2::new(0.01, 0.08), + pbr: Vec2::new(1.0, 0.95), //(0.01, 0.08), albedo_texture: None, shaded: true, } diff --git a/crates/bevy_render/src/render_graph/nodes/camera_node.rs b/crates/bevy_render/src/render_graph/nodes/camera_node.rs index bb7c84d32ce7b..be7f62a47217f 100644 --- a/crates/bevy_render/src/render_graph/nodes/camera_node.rs +++ b/crates/bevy_render/src/render_graph/nodes/camera_node.rs @@ -122,7 +122,7 @@ pub fn camera_node_system( staging_buffer, 0..matrix_size as u64, &mut |data, _renderer| { - data[0..matrix_size].copy_from_slice(camera_gpu_data.as_bytes()); + data[0..matrix_size].copy_from_slice(camera_matrix.as_bytes()); }, ); render_resource_context.unmap_buffer(staging_buffer); diff --git a/crates/bevy_render/src/render_graph/nodes/pass_node.rs b/crates/bevy_render/src/render_graph/nodes/pass_node.rs index c9de46d256b62..9fed3ed1d4b53 100644 --- a/crates/bevy_render/src/render_graph/nodes/pass_node.rs +++ b/crates/bevy_render/src/render_graph/nodes/pass_node.rs @@ -110,7 +110,10 @@ impl PassNode { index: 0, bind_type: BindType::Uniform { dynamic: false, - property: UniformProperty::Struct(vec![UniformProperty::Mat4]), + property: UniformProperty::Struct(vec![ + UniformProperty::Mat4, + UniformProperty::Vec4, + ]), }, shader_stage: BindingShaderStage::VERTEX | BindingShaderStage::FRAGMENT, }], diff --git a/examples/3d/msaa.rs b/examples/3d/msaa.rs index 4b437182fcb8d..af0d816ead8dd 100644 --- a/examples/3d/msaa.rs +++ b/examples/3d/msaa.rs @@ -1,4 +1,5 @@ use bevy::prelude::*; +//use bevy_pbr::{LightBundle, PbrBundle}; /// This example shows how to configure Multi-Sample Anti-Aliasing. Setting the sample count higher will result in smoother edges, /// but it will also increase the cost to render those edges. The range should generally be somewhere between 1 (no multi sampling, @@ -20,14 +21,17 @@ fn setup( // add entities to the world commands // cube - .spawn(PbrComponents { - mesh: meshes.add(Mesh::from(shape::Icosphere { radius: 1.0, subdivisions: 32, })), + .spawn(PbrBundle { + mesh: meshes.add(Mesh::from(shape::Icosphere { + radius: 1.0, + subdivisions: 32, + })), material: materials.add(Color::rgb(0.5, 0.4, 0.3).into()), ..Default::default() }) // light - .spawn(LightComponents { - translation: Translation::new(40.0, 80.0, 40.0), + .spawn(LightBundle { + transform: Transform::from_translation(Vec3::new(40.0, 80.0, 40.0)), ..Default::default() }) // camera