diff options
| author | johnny-smitherson <127537716+johnny-smitherson@users.noreply.github.com> | 2023-10-23 16:21:07 +0000 |
|---|---|---|
| committer | johnny-smitherson <127537716+johnny-smitherson@users.noreply.github.com> | 2023-10-23 16:39:52 +0000 |
| commit | 780ba4a216aa9ef68d7f10db4a2b67b866699f43 (patch) | |
| tree | f9be0e8ae1134f7ee6139eb34c39aa2c2d6a21aa /src_testbed/lines | |
| parent | 82416e3ca66dcdc34c0f350cec570ef1019a199f (diff) | |
| download | rapier-780ba4a216aa9ef68d7f10db4a2b67b866699f43.tar.gz rapier-780ba4a216aa9ef68d7f10db4a2b67b866699f43.tar.bz2 rapier-780ba4a216aa9ef68d7f10db4a2b67b866699f43.zip | |
update bevy 0.11 - fix compile errors
Diffstat (limited to 'src_testbed/lines')
| -rw-r--r-- | src_testbed/lines/mod.rs | 32 | ||||
| -rw-r--r-- | src_testbed/lines/render_dim.rs | 37 |
2 files changed, 40 insertions, 29 deletions
diff --git a/src_testbed/lines/mod.rs b/src_testbed/lines/mod.rs index 60d8098..c68b86e 100644 --- a/src_testbed/lines/mod.rs +++ b/src_testbed/lines/mod.rs @@ -19,7 +19,6 @@ use bevy::render::MainWorld; */ use bevy::{ asset::{Assets, HandleUntyped}, - pbr::{NotShadowCaster, NotShadowReceiver}, prelude::*, reflect::TypeUuid, render::{ @@ -27,8 +26,10 @@ use bevy::{ render_phase::AddRenderCommand, render_resource::PrimitiveTopology, render_resource::Shader, + RenderSet, }, }; +use bevy_pbr::{NotShadowCaster, NotShadowReceiver}; mod render_dim; @@ -38,8 +39,8 @@ mod render_dim; #[cfg(feature = "dim3")] mod dim { pub(crate) use super::render_dim::r3d::{queue, DebugLinePipeline, DrawDebugLines}; - pub(crate) use bevy::core_pipeline::core_3d::Opaque3d as Phase; use bevy::{asset::Handle, render::mesh::Mesh}; + pub(crate) use bevy_core_pipeline::core_3d::Opaque3d as Phase; pub(crate) type MeshHandle = Handle<Mesh>; pub(crate) fn from_handle(from: &MeshHandle) -> &Handle<Mesh> { @@ -54,8 +55,9 @@ mod dim { #[cfg(feature = "dim2")] mod dim { pub(crate) use super::render_dim::r2d::{queue, DebugLinePipeline, DrawDebugLines}; - pub(crate) use bevy::core_pipeline::core_2d::Transparent2d as Phase; - use bevy::{asset::Handle, render::mesh::Mesh, sprite::Mesh2dHandle}; + use bevy::{asset::Handle, render::mesh::Mesh}; + pub(crate) use bevy_core_pipeline::core_2d::Transparent2d as Phase; + use bevy_sprite::Mesh2dHandle; pub(crate) type MeshHandle = Mesh2dHandle; pub(crate) fn from_handle(from: &MeshHandle) -> &Handle<Mesh> { @@ -120,27 +122,33 @@ impl DebugLinesPlugin { Self { depth_test: val } } } - +use bevy::render::render_phase::DrawFunctions; +use bevy::render::Render; impl Plugin for DebugLinesPlugin { fn build(&self, app: &mut App) { - use bevy::render::{render_resource::SpecializedMeshPipelines, RenderApp, RenderStage}; + use bevy::render::{render_resource::SpecializedMeshPipelines, RenderApp}; let mut shaders = app.world.get_resource_mut::<Assets<Shader>>().unwrap(); shaders.set_untracked( DEBUG_LINES_SHADER_HANDLE, - Shader::from_wgsl(dim::SHADER_FILE), + Shader::from_wgsl(dim::SHADER_FILE, file!()), ); app.init_resource::<DebugLines>(); - app.add_startup_system(setup) - .add_system_to_stage(CoreStage::PostUpdate, update.label("draw_lines")); + + app.init_resource::<DrawFunctions<dim::Phase>>(); + + app.add_systems(Startup, setup) + .add_systems(PostUpdate, update); + app.sub_app_mut(RenderApp) + .init_resource::<DrawFunctions<dim::Phase>>() .add_render_command::<dim::Phase, dim::DrawDebugLines>() .insert_resource(DebugLinesConfig { depth_test: self.depth_test, }) .init_resource::<dim::DebugLinePipeline>() .init_resource::<SpecializedMeshPipelines<dim::DebugLinePipeline>>() - .add_system_to_stage(RenderStage::Extract, extract) - .add_system_to_stage(RenderStage::Queue, dim::queue); + .add_systems(Render, extract.in_set(RenderSet::ExtractCommands)) + .add_systems(Render, dim::queue.in_set(RenderSet::Queue)); info!("Loaded {} debug lines plugin.", dim::DIMMENSION); } @@ -176,7 +184,7 @@ fn setup(mut cmds: Commands, mut meshes: ResMut<Assets<Mesh>>) { // https://github.com/Toqozz/bevy_debug_lines/issues/16 //mesh.set_indices(Some(Indices::U16(Vec::with_capacity(MAX_POINTS_PER_MESH)))); - cmds.spawn_bundle(( + cmds.spawn(( dim::into_handle(meshes.add(mesh)), NotShadowCaster, NotShadowReceiver, diff --git a/src_testbed/lines/render_dim.rs b/src_testbed/lines/render_dim.rs index 718cce0..f339cdb 100644 --- a/src_testbed/lines/render_dim.rs +++ b/src_testbed/lines/render_dim.rs @@ -1,10 +1,11 @@ pub mod r3d { + use bevy_core_pipeline::core_3d::Opaque3d; + use bevy_pbr::{ + DrawMesh, MeshPipeline, MeshPipelineKey, MeshUniform, SetMeshBindGroup, + SetMeshViewBindGroup, + }; + use bevy::{ - core_pipeline::core_3d::Opaque3d, - pbr::{ - DrawMesh, MeshPipeline, MeshPipelineKey, MeshUniform, SetMeshBindGroup, - SetMeshViewBindGroup, - }, prelude::*, render::{ mesh::MeshVertexBufferLayout, @@ -54,9 +55,9 @@ pub mod r3d { //use VertexFormat::{Float32x3, Float32x4}; let mut shader_defs = Vec::new(); - shader_defs.push("LINES_3D".to_string()); + shader_defs.push("LINES_3D".to_string().into()); if depth_test { - shader_defs.push("DEPTH_TEST_ENABLED".to_string()); + shader_defs.push("DEPTH_TEST_ENABLED".to_string().into()); } let vertex_buffer_layout = layout.get_layout(&[ @@ -64,7 +65,7 @@ pub mod r3d { Mesh::ATTRIBUTE_COLOR.at_shader_location(1), ])?; let (label, blend, depth_write_enabled); - if key.contains(MeshPipelineKey::TRANSPARENT_MAIN_PASS) { + if key.contains(MeshPipelineKey::BLEND_ALPHA) { label = "transparent_mesh_pipeline".into(); blend = Some(BlendState::ALPHA_BLENDING); // For the transparent pass, fragments that are closer will be alpha @@ -96,7 +97,7 @@ pub mod r3d { write_mask: ColorWrites::ALL, })], }), - layout: Some(vec![self.mesh_pipeline.view_layout.clone()]), + layout: vec![self.mesh_pipeline.view_layout.clone()], primitive: PrimitiveState { front_face: FrontFace::Ccw, cull_mode: None, @@ -128,6 +129,7 @@ pub mod r3d { alpha_to_coverage_enabled: false, }, label: Some(label), + push_constant_ranges: vec![], }) } } @@ -147,7 +149,7 @@ pub mod r3d { .read() .get_id::<DrawDebugLines>() .unwrap(); - let key = MeshPipelineKey::from_msaa_samples(msaa.samples); + let key = MeshPipelineKey::from_msaa_samples(msaa.samples()); for (view, mut transparent_phase) in views.iter_mut() { let view_matrix = view.transform.compute_matrix(); let view_row_2 = view_matrix.row(2); @@ -183,7 +185,6 @@ pub mod r3d { pub mod r2d { use bevy::{ asset::Handle, - core_pipeline::core_2d::Transparent2d, prelude::*, render::{ mesh::MeshVertexBufferLayout, @@ -200,12 +201,13 @@ pub mod r2d { texture::BevyDefault, view::{Msaa, VisibleEntities}, }, - sprite::{ - DrawMesh2d, Mesh2dHandle, Mesh2dPipeline, Mesh2dPipelineKey, Mesh2dUniform, - SetMesh2dBindGroup, SetMesh2dViewBindGroup, - }, utils::FloatOrd, }; + use bevy_core_pipeline::core_2d::Transparent2d; + use bevy_sprite::{ + DrawMesh2d, Mesh2dHandle, Mesh2dPipeline, Mesh2dPipelineKey, Mesh2dUniform, + SetMesh2dBindGroup, SetMesh2dViewBindGroup, + }; use crate::lines::{RenderDebugLinesMesh, DEBUG_LINES_SHADER_HANDLE}; @@ -264,7 +266,7 @@ pub mod r2d { write_mask: ColorWrites::ALL, })], }), - layout: Some(vec![self.mesh_pipeline.view_layout.clone()]), + layout: vec![self.mesh_pipeline.view_layout.clone()], primitive: PrimitiveState { front_face: FrontFace::Ccw, cull_mode: None, @@ -281,6 +283,7 @@ pub mod r2d { alpha_to_coverage_enabled: false, }, label: None, + push_constant_ranges: vec![], }) } } @@ -297,7 +300,7 @@ pub mod r2d { ) { for (view, mut phase) in views.iter_mut() { let draw_mesh2d = draw2d_functions.read().get_id::<DrawDebugLines>().unwrap(); - let msaa_key = Mesh2dPipelineKey::from_msaa_samples(msaa.samples); + let msaa_key = Mesh2dPipelineKey::from_msaa_samples(msaa.samples()); for visible_entity in &view.entities { if let Ok((uniform, mesh_handle)) = material_meshes.get(*visible_entity) { |
