aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2021-05-18 10:52:06 +0200
committerGitHub <noreply@github.com>2021-05-18 10:52:06 +0200
commit3bac79ecacdeaa18de19127b7a6c82cbfab29d14 (patch)
tree0d227def6b11bbfe8e14cd021f01ac54f6500f52
parent355f7a3a3934043a330763ca985264cdb1375405 (diff)
parent47139323e01f978a94ed7aa2c33bbf63b00f4c30 (diff)
downloadrapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.gz
rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.tar.bz2
rapier-3bac79ecacdeaa18de19127b7a6c82cbfab29d14.zip
Merge pull request #189 from dimforge/bevy_renderer
Testbed: replace Kiss3d by Bevy
-rw-r--r--Cargo.toml4
-rw-r--r--assets/FiraSans-Bold.ttfbin0 -> 438028 bytes
-rw-r--r--benchmarks2d/all_benchmarks2.rs4
-rw-r--r--benchmarks2d/balls2.rs5
-rw-r--r--benchmarks2d/boxes2.rs5
-rw-r--r--benchmarks2d/capsules2.rs5
-rw-r--r--benchmarks2d/convex_polygons2.rs5
-rw-r--r--benchmarks2d/heightfield2.rs5
-rw-r--r--benchmarks2d/joint_ball2.rs5
-rw-r--r--benchmarks2d/joint_fixed2.rs5
-rw-r--r--benchmarks2d/joint_prismatic2.rs5
-rw-r--r--benchmarks2d/pyramid2.rs5
-rw-r--r--benchmarks3d/all_benchmarks3.rs6
-rw-r--r--benchmarks3d/balls3.rs5
-rw-r--r--benchmarks3d/boxes3.rs5
-rw-r--r--benchmarks3d/capsules3.rs5
-rw-r--r--benchmarks3d/ccd3.rs5
-rw-r--r--benchmarks3d/compound3.rs5
-rw-r--r--benchmarks3d/convex_polyhedron3.rs5
-rw-r--r--benchmarks3d/heightfield3.rs5
-rw-r--r--benchmarks3d/joint_ball3.rs5
-rw-r--r--benchmarks3d/joint_fixed3.rs5
-rw-r--r--benchmarks3d/joint_prismatic3.rs5
-rw-r--r--benchmarks3d/joint_revolute3.rs5
-rw-r--r--benchmarks3d/keva3.rs9
-rw-r--r--benchmarks3d/pyramid3.rs5
-rw-r--r--benchmarks3d/stacks3.rs5
-rw-r--r--benchmarks3d/trimesh3.rs5
-rw-r--r--build/rapier_testbed2d/Cargo.toml13
-rw-r--r--build/rapier_testbed3d/Cargo.toml15
-rw-r--r--examples2d/add_remove2.rs15
-rw-r--r--examples2d/all_examples2.rs4
-rw-r--r--examples2d/ccd2.rs7
-rw-r--r--examples2d/collision_groups2.rs11
-rw-r--r--examples2d/convex_polygons2.rs5
-rw-r--r--examples2d/debug_box_ball2.rs8
-rw-r--r--examples2d/heightfield2.rs5
-rw-r--r--examples2d/joints2.rs5
-rw-r--r--examples2d/locked_rotations2.rs5
-rw-r--r--examples2d/one_way_platforms2.rs11
-rw-r--r--examples2d/platform2.rs7
-rw-r--r--examples2d/polyline2.rs5
-rw-r--r--examples2d/pyramid2.rs5
-rw-r--r--examples2d/restitution2.rs5
-rw-r--r--examples2d/sensor2.rs11
-rw-r--r--examples2d/trimesh2.rs5
-rw-r--r--examples3d/Cargo.toml8
-rw-r--r--examples3d/all_examples3.rs5
-rw-r--r--examples3d/all_examples3_wasm.rs136
-rw-r--r--examples3d/ccd3.rs19
-rw-r--r--examples3d/collision_groups3.rs11
-rw-r--r--examples3d/compound3.rs5
-rw-r--r--examples3d/convex_decomposition3.rs67
-rw-r--r--examples3d/convex_polyhedron3.rs5
-rw-r--r--examples3d/debug_add_remove_collider3.rs14
-rw-r--r--examples3d/debug_big_colliders3.rs5
-rw-r--r--examples3d/debug_boxes3.rs5
-rw-r--r--examples3d/debug_cylinder3.rs5
-rw-r--r--examples3d/debug_dynamic_collider_add3.rs19
-rw-r--r--examples3d/debug_friction3.rs7
-rw-r--r--examples3d/debug_infinite_fall3.rs5
-rw-r--r--examples3d/debug_prismatic3.rs5
-rw-r--r--examples3d/debug_rollback3.rs7
-rw-r--r--examples3d/debug_shape_modification3.rs7
-rw-r--r--examples3d/debug_triangle3.rs5
-rw-r--r--examples3d/debug_trimesh3.rs18
-rw-r--r--examples3d/domino3.rs7
-rw-r--r--examples3d/fountain3.rs15
-rw-r--r--examples3d/heightfield3.rs5
-rw-r--r--examples3d/joints3.rs5
-rw-r--r--examples3d/keva3.rs9
-rw-r--r--examples3d/locked_rotations3.rs5
-rw-r--r--examples3d/one_way_platforms3.rs11
-rw-r--r--examples3d/platform3.rs7
-rw-r--r--examples3d/primitives3.rs5
-rw-r--r--examples3d/restitution3.rs5
-rw-r--r--examples3d/sensor3.rs11
-rw-r--r--examples3d/trimesh3.rs5
-rw-r--r--src_testbed/camera.rs94
-rw-r--r--src_testbed/engine.rs712
-rw-r--r--src_testbed/graphics.rs400
-rw-r--r--src_testbed/harness/mod.rs59
-rw-r--r--src_testbed/lib.rs9
-rw-r--r--src_testbed/objects/ball.rs76
-rw-r--r--src_testbed/objects/box_node.rs76
-rw-r--r--src_testbed/objects/capsule.rs77
-rw-r--r--src_testbed/objects/cone.rs77
-rw-r--r--src_testbed/objects/convex.rs96
-rw-r--r--src_testbed/objects/cylinder.rs77
-rw-r--r--src_testbed/objects/heightfield.rs128
-rw-r--r--src_testbed/objects/mesh.rs111
-rw-r--r--src_testbed/objects/mod.rs12
-rw-r--r--src_testbed/objects/node.rs547
-rw-r--r--src_testbed/objects/plane.rs132
-rw-r--r--src_testbed/objects/polyline.rs67
-rw-r--r--src_testbed/plugin.rs12
-rw-r--r--src_testbed/testbed.rs1940
-rw-r--r--src_testbed/ui.rs719
98 files changed, 2251 insertions, 3898 deletions
diff --git a/Cargo.toml b/Cargo.toml
index de3add6..99e7b5b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,7 @@
[workspace]
members = [ "build/rapier2d", "build/rapier2d-f64", "build/rapier_testbed2d", "examples2d", "benchmarks2d",
"build/rapier3d", "build/rapier3d-f64", "build/rapier_testbed3d", "examples3d", "benchmarks3d" ]
+resolver = "2"
[patch.crates-io]
#wrapped2d = { git = "https://github.com/Bastacyclop/rust_box2d.git" }
@@ -17,6 +18,9 @@ members = [ "build/rapier2d", "build/rapier2d-f64", "build/rapier_testbed2d", "e
#parry3d-f64 = { path = "../parry/build/parry3d-f64" }
#nalgebra = { path = "../nalgebra" }
+#bevy-orbit-controls = { path = "../bevy-orbit-controls" }
+bevy-orbit-controls = { git = "https://github.com/sebcrozet/bevy-orbit-controls" }
+
#kiss3d = { git = "https://github.com/sebcrozet/kiss3d" }
#nalgebra = { git = "https://github.com/dimforge/nalgebra", branch = "dev" }
#parry2d = { git = "https://github.com/dimforge/parry", branch = "special_cases" }
diff --git a/assets/FiraSans-Bold.ttf b/assets/FiraSans-Bold.ttf
new file mode 100644
index 0000000..95e1660
--- /dev/null
+++ b/assets/FiraSans-Bold.ttf
Binary files differ
diff --git a/benchmarks2d/all_benchmarks2.rs b/benchmarks2d/all_benchmarks2.rs
index e5f2ff1..72d67ed 100644
--- a/benchmarks2d/all_benchmarks2.rs
+++ b/benchmarks2d/all_benchmarks2.rs
@@ -7,7 +7,7 @@ use wasm_bindgen::prelude::*;
use inflector::Inflector;
-use rapier_testbed2d::Testbed;
+use rapier_testbed2d::{Testbed, TestbedApp};
use std::cmp::Ordering;
mod balls2;
@@ -78,7 +78,7 @@ pub fn main() {
.iter()
.position(|builder| builder.0.to_camel_case().as_str() == demo.as_str())
.unwrap_or(0);
- let testbed = Testbed::from_builders(i, builders);
+ let testbed = TestbedApp::from_builders(i, builders);
testbed.run()
}
diff --git a/benchmarks2d/balls2.rs b/benchmarks2d/balls2.rs
index 9a28195..8fa9775 100644
--- a/benchmarks2d/balls2.rs
+++ b/benchmarks2d/balls2.rs
@@ -61,8 +61,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 2.5), 5.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/boxes2.rs b/benchmarks2d/boxes2.rs
index 4fb9bf3..e524386 100644
--- a/benchmarks2d/boxes2.rs
+++ b/benchmarks2d/boxes2.rs
@@ -66,8 +66,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 50.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/capsules2.rs b/benchmarks2d/capsules2.rs
index 6369ef6..89ddfde 100644
--- a/benchmarks2d/capsules2.rs
+++ b/benchmarks2d/capsules2.rs
@@ -68,8 +68,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 50.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/convex_polygons2.rs b/benchmarks2d/convex_polygons2.rs
index f5a6da9..99f5a14 100644
--- a/benchmarks2d/convex_polygons2.rs
+++ b/benchmarks2d/convex_polygons2.rs
@@ -79,8 +79,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 50.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/heightfield2.rs b/benchmarks2d/heightfield2.rs
index 95fed6c..1a30849 100644
--- a/benchmarks2d/heightfield2.rs
+++ b/benchmarks2d/heightfield2.rs
@@ -65,8 +65,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 50.0), 10.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Heightfield", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/joint_ball2.rs b/benchmarks2d/joint_ball2.rs
index 35423e7..1ad2d39 100644
--- a/benchmarks2d/joint_ball2.rs
+++ b/benchmarks2d/joint_ball2.rs
@@ -65,8 +65,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(numk as f32 * rad, numi as f32 * -rad), 5.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Joints", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/joint_fixed2.rs b/benchmarks2d/joint_fixed2.rs
index 861912c..e42ad99 100644
--- a/benchmarks2d/joint_fixed2.rs
+++ b/benchmarks2d/joint_fixed2.rs
@@ -78,8 +78,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(50.0, 50.0), 5.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Joints", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/joint_prismatic2.rs b/benchmarks2d/joint_prismatic2.rs
index 91ef48e..e393542 100644
--- a/benchmarks2d/joint_prismatic2.rs
+++ b/benchmarks2d/joint_prismatic2.rs
@@ -62,8 +62,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(80.0, 80.0), 15.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Joints", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks2d/pyramid2.rs b/benchmarks2d/pyramid2.rs
index e6a715b..c3eb6ad 100644
--- a/benchmarks2d/pyramid2.rs
+++ b/benchmarks2d/pyramid2.rs
@@ -53,8 +53,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point2::new(0.0, 2.5), 5.0);
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks3d/all_benchmarks3.rs b/benchmarks3d/all_benchmarks3.rs
index 38d71cd..d62c72c 100644
--- a/benchmarks3d/all_benchmarks3.rs
+++ b/benchmarks3d/all_benchmarks3.rs
@@ -7,7 +7,7 @@ use wasm_bindgen::prelude::*;
use inflector::Inflector;
-use rapier_testbed3d::Testbed;
+use rapier_testbed3d::{Testbed, TestbedApp};
use std::cmp::Ordering;
mod balls3;
@@ -80,12 +80,12 @@ pub fn main() {
.iter()
.position(|builder| builder.0.to_camel_case().as_str() == demo.as_str())
{
- Testbed::from_builders(0, vec![builders[i]]).run()
+ TestbedApp::from_builders(0, vec![builders[i]]).run()
} else {
eprintln!("Invalid example to run provided: '{}'", demo);
}
}
- Command::RunAll => Testbed::from_builders(0, builders).run(),
+ Command::RunAll => TestbedApp::from_builders(0, builders).run(),
Command::List => {
for builder in &builders {
println!("{}", builder.0.to_camel_case())
diff --git a/benchmarks3d/balls3.rs b/benchmarks3d/balls3.rs
index 1f0f1df..492aeac 100644
--- a/benchmarks3d/balls3.rs
+++ b/benchmarks3d/balls3.rs
@@ -51,8 +51,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point3::new(100.0, 100.0, 100.0), Point3::origin());
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Balls", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks3d/boxes3.rs b/benchmarks3d/boxes3.rs
index 0eb31f5..86213af 100644
--- a/benchmarks3d/boxes3.rs
+++ b/benchmarks3d/boxes3.rs
@@ -61,8 +61,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point3::new(100.0, 100.0, 100.0), Point3::origin());
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks3d/capsules3.rs b/benchmarks3d/capsules3.rs
index 0e8ad94..edd6d57 100644
--- a/benchmarks3d/capsules3.rs
+++ b/benchmarks3d/capsules3.rs
@@ -62,8 +62,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point3::new(100.0, 100.0, 100.0), Point3::origin());
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks3d/ccd3.rs b/benchmarks3d/ccd3.rs
index f1831e7..a496648 100644
--- a/benchmarks3d/ccd3.rs
+++ b/benchmarks3d/ccd3.rs
@@ -78,8 +78,3 @@ pub fn init_world(testbed: &mut Testbed) {
testbed.set_world(bodies, colliders, joints);
testbed.look_at(Point3::new(100.0, 100.0, 100.0), Point3::origin());
}
-
-fn main() {
- let testbed = Testbed::from_builders(0, vec![("Boxes", init_world)]);
- testbed.run()
-}
diff --git a/benchmarks3d/compound3.rs b/benchmarks3d/compound3.rs
index a8a9939..3f82ca0 100644
--- a/benchmarks3d/compound3.rs
+++ b/benchmarks3d/compound3.rs
@@ -69,8 +69,3 @@ pub fn init_world(testbed: &mut Testbed) {