Crozet Sébastien
8dab63bda1
Fix regression in the WASM version of the velocity solver.
2021-03-08 15:14:54 +01:00
Crozet Sébastien
152ada67ec
Fix regression causing invalid contacts to be solved.
2021-03-07 17:34:54 +01:00
Crozet Sébastien
0e4393ba9e
Reduce code duplication between the SIMD and non-SIMD contact solve and warmstart.
2021-03-07 17:15:32 +01:00
Crozet Sébastien
4cb1f5c692
Fix warning when targetting wasm.
2021-03-07 11:55:10 +01:00
Crozet Sébastien
bed47a82e7
Projection friction impulses on an implicit cone instead of a pyramidal approximation.
2021-03-07 11:44:19 +01:00
Emil Ernerfeldt
ede4f0f770
cleanup
2021-02-26 11:06:29 +01:00
Emil Ernerfeldt
4162aed2a0
Add params.velocity_based_erp_inv_dt() helper
2021-02-26 11:06:29 +01:00
Emil Ernerfeldt
21247a1236
Add restorative impulse in velocity solver
2021-02-26 11:06:29 +01:00
Crozet Sébastien
96ecb877e2
Implement dominance.
2021-02-24 13:26:51 +01:00
Crozet Sébastien
3cc2738e5f
Fix warnings in the WASM build.
2021-02-23 16:47:48 +01:00
Crozet Sébastien
3fdb4cd6d3
Properly take the tangent_velocity into account in the velocity solver.
2021-02-23 15:47:24 +01:00
Crozet Sébastien
ad5c10672e
Use contact ids instead of contact reordering in order to identify the impulse writeback location.
2021-02-22 17:52:03 +01:00
Emil Ernerfeldt
5e7eedc3fd
Always apply the predictive contact term, even for bouncing contacts
2021-02-18 17:58:17 +01:00
Emil Ernerfeldt
f9e3d382d2
New contacts are bouncy, old are resting
...
If a contact is new (previous impluse = 0), then we treat it as bouncy (respecting restitution).
If the contact is old we treat it as resting.
Exceptions for restitutions <=0 and >= 1.
2021-02-18 15:41:46 +01:00
Crozet Sébastien
e45e5f109c
Fix WASM build.
2021-01-23 13:11:00 +01:00
Crozet Sébastien
cf52e01308
Merge branch 'master' into split_geom
...
# Conflicts:
# examples2d/sensor2.rs
# examples3d/sensor3.rs
# src/dynamics/integration_parameters.rs
# src/dynamics/solver/parallel_island_solver.rs
# src/dynamics/solver/velocity_constraint.rs
# src/dynamics/solver/velocity_ground_constraint.rs
# src_testbed/nphysics_backend.rs
# src_testbed/physx_backend.rs
# src_testbed/testbed.rs
2021-01-22 16:10:24 +01:00
Emil Ernerfeldt
95c6199a9a
Remove IntegrationParameters::inv_dt and make dt pub
2021-01-22 13:32:18 +01:00
Crozet Sébastien
8f330b2a00
Rotation locking: apply filter only to the world inertia properties to fix the multi-collider case.
2021-01-21 14:58:40 +01:00
Crozet Sébastien
c28b14d31c
Refactor the parallel solver code the same way we did with the non-parallel solver.
2021-01-04 17:59:56 +01:00
Crozet Sébastien
aa61fe65e3
Add support of 64-bits reals.
2021-01-04 15:14:25 +01:00
Crozet Sébastien
967145a949
Perform contact sorting in the narrow-phase directly.
2020-12-31 11:16:03 +01:00
Crozet Sébastien
43628c8846
Try using solver contacts again, but in a more cache-coherent way.
2020-12-30 17:30:07 +01:00
Crozet Sébastien
9bf1321f8f
Outsource the contact manifold, SAT, and some shapes.
2020-12-29 11:31:00 +01:00
Crozet Sébastien
502be0245c
Add restitution.
2020-11-03 11:22:30 +01:00
Sébastien Crozet
9622827dc6
Fix constraints resolution with non-identity relative collider position.
2020-09-01 14:02:59 +02:00
Sébastien Crozet
c286f44c4e
Constraint solver: properly take non-zero center of masses into account.
2020-08-31 19:05:14 +02:00
Sébastien Crozet
754a48b7ff
First public release of Rapier.
2020-08-25 22:10:25 +02:00