Commit Graph

246 Commits

Author SHA1 Message Date
Crozet Sébastien
9315da2b6c Fix bug in 2D heightfield collision detection. 2020-10-26 14:12:31 +01:00
Crozet Sébastien
b9156302d3 Replace rounding -> round. 2020-10-20 18:57:53 +02:00
Crozet Sébastien
f7a6f433d6 Rename rounded -> round. 2020-10-20 18:14:20 +02:00
Crozet Sébastien
949e3f5384 Fix many warnings. 2020-10-20 16:22:53 +02:00
Crozet Sébastien
6495847095 Add rounded cylinder. 2020-10-20 15:57:54 +02:00
Crozet Sébastien
d513c22d33 Add cone support. 2020-10-20 14:16:01 +02:00
Crozet Sébastien
865ce8a8e5 Collider shape: use a trait-object instead of an enum. 2020-10-20 11:56:09 +02:00
Crozet Sébastien
947c4813c9 Complete the pfm/pfm contact generator. 2020-10-19 16:52:08 +02:00
Crozet Sébastien
faf3e7e0f7 Implement a special case for edge-edge 3D polygonal clipping. 2020-10-13 18:41:11 +02:00
Crozet Sébastien
faec3d5d46 Start adding cylinders. 2020-10-12 18:33:58 +02:00
Crozet Sébastien
76118d6885 WQuadtree: fix stack overflow caused by more than 4 AABB with the same center. 2020-10-10 12:15:43 +02:00
Robert Hrusecky
dd8e25bc47 Merge branch 'master' into infinite_fall_memory 2020-10-06 14:22:26 -05:00
Robert Hrusecky
0c1b210109 Fix corner case: exit on multiple axes 2020-10-06 14:01:48 -05:00
Crozet Sébastien
fc72aa6845 Fix examples. 2020-10-06 16:38:34 +02:00
Crozet Sébastien
e87b73a2a2 Fix compilation in 2D. 2020-10-06 15:49:22 +02:00
Crozet Sébastien
682ff61f94 Don't let the PubSub internal offsets overflow + fix some warnings. 2020-10-06 15:23:48 +02:00
Crozet Sébastien
7c92848383 Implement RayCast for the Trimesh. 2020-10-06 14:17:18 +02:00
Crozet Sébastien
60c4d01e0a Completely remove the WAABBHierarchy structure.
It is now replaced by the WQuadtree.
2020-10-06 11:37:48 +02:00
Crozet Sébastien
17c31bcc57 WQuadtree query: reduce the amount of allocations. 2020-10-06 11:22:51 +02:00
Crozet Sébastien
cf86ee40a1 Use the WQuadtree for the exhaustive ray-cast too. 2020-10-06 11:21:39 +02:00
Crozet Sébastien
8e432b298b Make the WQuadTree more generic and use it as the trimesh acceleration structure. 2020-10-06 10:46:59 +02:00
Crozet Sébastien
721db2d49e Fix crash when deleting a collider. 2020-10-06 10:02:21 +02:00
Robert Hrusecky
b614b3de5e Fix edge case 2020-10-06 02:14:18 -05:00
Robert Hrusecky
c25c5c5192 Bug fix: newly empty regions not updating
SAPRegions which became empty in the last frame need to be updated one
more time in order to remove the last proxy.
2020-10-05 23:20:03 -05:00
Robert Hrusecky
d7ff0826d2 Simple fix: Always remove empty SAPRegions 2020-10-05 18:43:35 -05:00
Crozet Sébastien
93aa7b6e1e Use the publish-subscribe mechanism to handle collider removals across pipelines. 2020-10-05 19:04:18 +02:00
Crozet Sébastien
bbfe926a11 Make the WQuadtree serializable. 2020-10-05 16:51:32 +02:00
Crozet Sébastien
c031f96ac5 Fix compilation when parallelism is not enabled. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
b39887a121 Fix crash of WQuadtree when the collider set contains holes. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
84bd60e4a5 Fix compilation when SIMD is not enabled. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
a7d77a0144 Add non-topological WQuadtree update. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
56f6051b04 Start adding incremental topology update for the WQuadtree. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
2dda0e5ce4 Complete the WQuadtree construction and ray-cast. 2020-09-28 15:27:25 +02:00
Crozet Sébastien
7b8e322446 Make kinematic bodies properly wake up dynamic bodies. 2020-09-28 15:27:25 +02:00
Sébastien Crozet
3c85a6ac41 Start implementing ray-casting.
This adds a QueryPipeline structure responsible for scene queries.
Currently this structure is able to perform a brute-force ray-cast.
This commit also includes the beginning of implementation of a SIMD-based acceleration structure which will be used for these scene queries in the future.
2020-09-28 15:27:25 +02:00
Crozet Sébastien
ba0a85a0a3 Fix trimesh/shape collision-detection when the trimesh was input as the second shape. 2020-09-28 11:01:42 +02:00
Crozet Sébastien
f3f2b57f88 Fix NaN when computing contacts between a cuboid and a perfectly vertical triangle. 2020-09-28 11:01:15 +02:00
Sébastien Crozet
ff2da7fb27 Move benchmark demos into their own directory. 2020-09-06 12:16:22 +02:00
Sébastien Crozet
ff3ae6a7e0 Run cargofmt + add rustfmt.toml 2020-09-01 17:48:51 +02:00
Sébastien Crozet
2f2a073ce4 Fix mass property update when adding a collider. 2020-09-01 17:05:24 +02: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
03b437f278 Disallow contacts between two colliders attached to the same parent. 2020-08-31 19:05:14 +02:00
Sébastien Crozet
5731b99463 Fix box-box CD when colliders have non-identity delta pos. 2020-08-31 19:05:14 +02:00
Sébastien Crozet
df2156ffd0 Allow the removal of a collider. 2020-08-31 19:05:14 +02:00
Sébastien Crozet
3b000f90bf Fix BroadPhase proxy handle recycling causing a crash. 2020-08-27 09:08:17 +02:00
Sébastien Crozet
754a48b7ff First public release of Rapier. 2020-08-25 22:10:25 +02:00