aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-08-08 09:10:59 +0200
committerGitHub <noreply@github.com>2022-08-08 09:10:59 +0200
commitabdbf5ffec5cd7f3c2a1bfd17491b3740561a4e1 (patch)
treec5ff894118ffa0495196e342116d6ed7bc3d129d
parent90c97341b1e9c032375ece0aa6a00348702b7e8b (diff)
parentc4f078daf35d093c59905860296abb2ff3655a5c (diff)
downloadrapier-abdbf5ffec5cd7f3c2a1bfd17491b3740561a4e1.tar.gz
rapier-abdbf5ffec5cd7f3c2a1bfd17491b3740561a4e1.tar.bz2
rapier-abdbf5ffec5cd7f3c2a1bfd17491b3740561a4e1.zip
Merge pull request #374 from SludgePhD/update-bevy-wgpu
Update bevy (and thus wgpu)
-rw-r--r--crates/rapier_testbed2d-f64/Cargo.toml8
-rw-r--r--crates/rapier_testbed2d/Cargo.toml8
-rw-r--r--crates/rapier_testbed3d-f64/Cargo.toml10
-rw-r--r--crates/rapier_testbed3d/Cargo.toml10
-rw-r--r--src_testbed/lines/mod.rs16
-rw-r--r--src_testbed/lines/render_dim.rs14
-rw-r--r--src_testbed/testbed.rs8
7 files changed, 40 insertions, 34 deletions
diff --git a/crates/rapier_testbed2d-f64/Cargo.toml b/crates/rapier_testbed2d-f64/Cargo.toml
index 55a4a0f..911c84d 100644
--- a/crates/rapier_testbed2d-f64/Cargo.toml
+++ b/crates/rapier_testbed2d-f64/Cargo.toml
@@ -38,17 +38,17 @@ bincode = "1"
Inflector = "0.11"
md5 = "0.7"
-bevy_egui = "0.14"
-bevy_ecs = "0.7"
+bevy_egui = "0.15"
+bevy_ecs = "0.8"
#bevy_prototype_debug_lines = "0.7"
# Dependencies for native only.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render", "x11"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render", "x11"]}
# Dependencies for WASM only.
[target.'cfg(target_arch = "wasm32")'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render"]}
#bevy_webgl2 = "0.5"
[dependencies.rapier]
diff --git a/crates/rapier_testbed2d/Cargo.toml b/crates/rapier_testbed2d/Cargo.toml
index f200aa4..b7dedf8 100644
--- a/crates/rapier_testbed2d/Cargo.toml
+++ b/crates/rapier_testbed2d/Cargo.toml
@@ -38,17 +38,17 @@ bincode = "1"
Inflector = "0.11"
md5 = "0.7"
-bevy_egui = "0.14"
-bevy_ecs = "0.7"
+bevy_egui = "0.15"
+bevy_ecs = "0.8"
#bevy_prototype_debug_lines = "0.7"
# Dependencies for native only.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render", "x11"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render", "x11"]}
# Dependencies for WASM only.
[target.'cfg(target_arch = "wasm32")'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render"]}
#bevy_webgl2 = "0.5"
[dependencies.rapier]
diff --git a/crates/rapier_testbed3d-f64/Cargo.toml b/crates/rapier_testbed3d-f64/Cargo.toml
index d24da9e..62f8e05 100644
--- a/crates/rapier_testbed3d-f64/Cargo.toml
+++ b/crates/rapier_testbed3d-f64/Cargo.toml
@@ -36,21 +36,21 @@ md5 = "0.7"
Inflector = "0.11"
serde = { version = "1", features = [ "derive" ] }
-bevy_egui = "0.14"
-bevy_ecs = "0.7"
+bevy_egui = "0.15"
+bevy_ecs = "0.8"
#bevy_prototype_debug_lines = { version = "0.7", features = [ "3d" ] }
# Dependencies for native only.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render", "x11"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render", "x11"]}
# Dependencies for WASM only.
[target.'cfg(target_arch = "wasm32")'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render"]}
#bevy_webgl2 = "0.5"
[dependencies.rapier]
package = "rapier3d-f64"
path = "../rapier3d-f64"
version = "0.14.0"
-features = [ "serde-serialize", "debug-render", "profiler" ] \ No newline at end of file
+features = [ "serde-serialize", "debug-render", "profiler" ]
diff --git a/crates/rapier_testbed3d/Cargo.toml b/crates/rapier_testbed3d/Cargo.toml
index 6893989..c0f9b63 100644
--- a/crates/rapier_testbed3d/Cargo.toml
+++ b/crates/rapier_testbed3d/Cargo.toml
@@ -40,21 +40,21 @@ md5 = "0.7"
Inflector = "0.11"
serde = { version = "1", features = [ "derive" ] }
-bevy_egui = "0.14"
-bevy_ecs = "0.7"
+bevy_egui = "0.15"
+bevy_ecs = "0.8"
#bevy_prototype_debug_lines = { version = "0.7", features = [ "3d" ] }
# Dependencies for native only.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render", "x11"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render", "x11"]}
# Dependencies for WASM only.
[target.'cfg(target_arch = "wasm32")'.dependencies]
-bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "render"]}
+bevy = {version = "0.8", default-features = false, features = ["bevy_winit", "render"]}
#bevy_webgl2 = "0.5"
[dependencies.rapier]
package = "rapier3d"
path = "../rapier3d"
version = "0.14.0"
-features = [ "serde-serialize", "debug-render", "profiler" ] \ No newline at end of file
+features = [ "serde-serialize", "debug-render", "profiler" ]
diff --git a/src_testbed/lines/mod.rs b/src_testbed/lines/mod.rs
index a7dd7bb..3c68110 100644
--- a/src_testbed/lines/mod.rs
+++ b/src_testbed/lines/mod.rs
@@ -1,5 +1,8 @@
#![allow(warnings)]
+use bevy::render::mesh::MeshVertexAttribute;
+use bevy::render::render_resource::VertexFormat;
use bevy::render::view::NoFrustumCulling;
+use bevy::render::MainWorld;
/**
*
* NOTE: this module and its submodules are only temporary. It is a copy-paste of the bevy-debug-lines
@@ -35,7 +38,7 @@ mod render_dim;
#[cfg(feature = "dim3")]
mod dim {
pub(crate) use super::render_dim::r3d::{queue, DebugLinePipeline, DrawDebugLines};
- pub(crate) use bevy::core_pipeline::Opaque3d as Phase;
+ pub(crate) use bevy::core_pipeline::core_3d::Opaque3d as Phase;
use bevy::{asset::Handle, render::mesh::Mesh};
pub(crate) type MeshHandle = Handle<Mesh>;
@@ -51,7 +54,7 @@ mod dim {
#[cfg(feature = "dim2")]
mod dim {
pub(crate) use super::render_dim::r2d::{queue, DebugLinePipeline, DrawDebugLines};
- pub(crate) use bevy::core_pipeline::Transparent2d as Phase;
+ pub(crate) use bevy::core_pipeline::core_2d::Transparent2d as Phase;
use bevy::{asset::Handle, render::mesh::Mesh, sprite::Mesh2dHandle};
pub(crate) type MeshHandle = Mesh2dHandle;
@@ -153,6 +156,9 @@ pub const MAX_POINTS: usize = MAX_POINTS_PER_MESH * MESH_COUNT;
/// Maximum number of unique lines to draw at once.
pub const MAX_LINES: usize = MAX_POINTS / 2;
+const ATTRIBUTE_COLOR: MeshVertexAttribute =
+ MeshVertexAttribute::new("Vertex_Color", 1, VertexFormat::Uint32);
+
fn setup(mut cmds: Commands, mut meshes: ResMut<Assets<Mesh>>) {
// Spawn a bunch of meshes to use for lines.
for i in 0..MESH_COUNT {
@@ -163,7 +169,7 @@ fn setup(mut cmds: Commands, mut meshes: ResMut<Assets<Mesh>>) {
VertexAttributeValues::Float32x3(Vec::with_capacity(MAX_POINTS_PER_MESH)),
);
mesh.insert_attribute(
- Mesh::ATTRIBUTE_COLOR,
+ ATTRIBUTE_COLOR,
VertexAttributeValues::Uint32(Vec::with_capacity(MAX_POINTS_PER_MESH)),
);
// https://github.com/Toqozz/bevy_debug_lines/issues/16
@@ -204,7 +210,7 @@ fn update(
}
}
- if let Some(Uint32(cbuffer)) = mesh.attribute_mut(Mesh::ATTRIBUTE_COLOR) {
+ if let Some(Uint32(cbuffer)) = mesh.attribute_mut(ATTRIBUTE_COLOR) {
cbuffer.clear();
if let Some(new_content) = lines
.colors
@@ -233,7 +239,7 @@ fn update(
}
/// Move the DebugLinesMesh marker Component to the render context.
-fn extract(mut commands: Commands, query: Query<Entity, With<DebugLinesMesh>>) {
+fn extract(mut commands: Commands, query: Query<Entity, With<DebugLinesMesh>>, _: Res<MainWorld>) {
for entity in query.iter() {
commands.get_or_spawn(entity).insert(RenderDebugLinesMesh);
}
diff --git a/src_testbed/lines/render_dim.rs b/src_testbed/lines/render_dim.rs
index 92215f2..be23321 100644
--- a/src_testbed/lines/render_dim.rs
+++ b/src_testbed/lines/render_dim.rs
@@ -1,6 +1,6 @@
pub mod r3d {
use bevy::{
- core_pipeline::Opaque3d,
+ core_pipeline::core_3d::Opaque3d,
pbr::{
DrawMesh, MeshPipeline, MeshPipelineKey, MeshUniform, SetMeshBindGroup,
SetMeshViewBindGroup,
@@ -89,11 +89,11 @@ pub mod r3d {
shader: self.shader.clone_weak(),
shader_defs,
entry_point: "fragment".into(),
- targets: vec![ColorTargetState {
+ targets: vec![Some(ColorTargetState {
format: TextureFormat::bevy_default(),
blend,
write_mask: ColorWrites::ALL,
- }],
+ })],
}),
layout: Some(vec![self.mesh_pipeline.view_layout.clone()]),
primitive: PrimitiveState {
@@ -182,8 +182,7 @@ pub mod r3d {
pub mod r2d {
use bevy::{
asset::Handle,
- core::FloatOrd,
- core_pipeline::Transparent2d,
+ core_pipeline::core_2d::Transparent2d,
prelude::*,
render::{
mesh::MeshVertexBufferLayout,
@@ -204,6 +203,7 @@ pub mod r2d {
DrawMesh2d, Mesh2dHandle, Mesh2dPipeline, Mesh2dPipelineKey, Mesh2dUniform,
SetMesh2dBindGroup, SetMesh2dViewBindGroup,
},
+ utils::FloatOrd,
};
use crate::lines::{RenderDebugLinesMesh, DEBUG_LINES_SHADER_HANDLE};
@@ -256,11 +256,11 @@ pub mod r2d {
shader: self.shader.clone_weak(),
shader_defs: vec![],
entry_point: "fragment".into(),
- targets: vec![ColorTargetState {
+ targets: vec![Some(ColorTargetState {
format: TextureFormat::bevy_default(),
blend: Some(BlendState::ALPHA_BLENDING),
write_mask: ColorWrites::ALL,
- }],
+ })],
}),
layout: Some(vec![self.mesh_pipeline.view_layout.clone()]),
primitive: PrimitiveState {
diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs
index e2e7f07..3d4f814 100644
--- a/src_testbed/testbed.rs
+++ b/src_testbed/testbed.rs
@@ -836,7 +836,7 @@ fn setup_graphics_environment(mut commands: Commands) {
});
commands
- .spawn_bundle(PerspectiveCameraBundle {
+ .spawn_bundle(Camera3dBundle {
transform: Transform::from_matrix(
Mat4::look_at_rh(
Vec3::new(-30.0, 30.0, 100.0),
@@ -869,13 +869,13 @@ fn setup_graphics_environment(mut commands: Commands) {
// ..Default::default()
// });
commands
- .spawn_bundle(OrthographicCameraBundle {
+ .spawn_bundle(Camera2dBundle {
transform: Transform {
translation: Vec3::new(0.0, 0.0, 0.0),
rotation: Quat::IDENTITY,
scale: Vec3::new(0.01, 0.01, 1.0),
},
- ..OrthographicCameraBundle::new_2d()
+ ..Camera2dBundle::default()
})
.insert(OrbitCamera {
zoom: 100.0,
@@ -1298,7 +1298,7 @@ fn highlight_hovered_body(
if let Some(cursor) = window.cursor_position() {
let ndc_cursor = (cursor / Vec2::new(window.width(), window.height()) * 2.0) - Vec2::ONE;
- let ndc_to_world = camera_transform.compute_matrix() * camera.projection_matrix.inverse();
+ let ndc_to_world = camera_transform.compute_matrix() * camera.projection_matrix().inverse();
let ray_pt1 = ndc_to_world.project_point3(Vec3::new(ndc_cursor.x, ndc_cursor.y, -1.0));
let ray_pt2 = ndc_to_world.project_point3(Vec3::new(ndc_cursor.x, ndc_cursor.y, 1.0));
let ray_dir = ray_pt2 - ray_pt1;