Commit Graph

19 Commits

Author SHA1 Message Date
Thaddeus Crews
a4bbad2ba8 Merge pull request #115327 from jrouwe/115180
Jolt Physics: Make MoveKinematic more accurate when rotating a body by a very small angle
2026-01-26 15:01:59 -06:00
Thaddeus Crews
657d06a8f3 Merge pull request #115305 from jrouwe/115169_v3
Jolt Physics: Rework how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions
2026-01-26 15:01:56 -06:00
Jorrit Rouwe
67d385e910 Jolt Physics: Made MoveKinematic more accurate when rotating a body by a very small angle 2026-01-24 14:46:15 +01:00
Jorrit Rouwe
be27d23116 Jolt Physics: Reworked how gravity is applied to dynamic bodies to prevent energy increase on elastic collisions 2026-01-23 20:08:05 +01:00
Jorrit Rouwe
d0025bd4a3 Jolt Physics: Swapping vertices of triangle if it is scaled inside out
Fixed an issue where collide/cast shape against a triangle would return a hit result with mShape2Face in incorrect winding order. This caused an incorrect normal in the enhanced internal edge removal algorithm. This in turn resulted in objects not settling properly on dense triangle grids.
2026-01-17 22:03:50 +01:00
Thaddeus Crews
ad02128137 SCons: Remove transitive includes in libc++ 2025-11-23 11:09:21 -06:00
Mikael Hermansson
a2d0e17187 Fix crash in Jolt when doing incremental builds 2025-10-08 13:41:38 +02:00
Mikael Hermansson
cf75064c71 Jolt: Update to 5.4.0 2025-10-07 13:43:40 +02:00
Jorrit Rouwe
9bb8d12c1b Fix Generic6DOFJoint3D not respecting angular limits
A 6DOF constraint that constrains all rotation axis in combination with a body that has some of its rotation axis locked would not constrain the rotation in the unlocked axis.

Fixes #109018
2025-09-30 21:01:27 +02:00
Jorrit Rouwe
1daf9893ec Fixed bug in ManifoldBetweenTwoFaces
Fixed bug in ManifoldBetweenTwoFaces which would not find the correct manifold in case face 1 had 3 or more vertices and face 2 only 2. E.g. for a box resting the long edge of a cylinder this would mean that only a single contact point was found instead of 2 (the other way around would work fine).

Fixes godotengine/godot#110479
2025-09-14 11:01:00 +02:00
Mikael Hermansson
e2985a2e1f Fix crash in Jolt Physics when switching scenes in editor
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2025-07-03 16:45:53 +02:00
Mikael Hermansson
89f9a23d9e Batch the adding of Jolt Physics bodies
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2025-06-14 14:11:07 +02:00
Mikael Hermansson
9cea7ebc91 Fix SCU build issues related to Jolt Physics 2025-05-13 12:34:55 +02:00
Jorrit Rouwe
07fcb82958 32-bit MinGW g++ doesn't call the correct overload for the new operator when a type is 16 bytes aligned.
It uses the non-aligned version, which on 32 bit platforms usually returns an 8 byte aligned block. We therefore default to 16 byte aligned allocations when the regular new operator is used.

Fixes: godotengine/godot#105455
2025-04-23 22:12:43 +02:00
Mikael Hermansson
5d00161040 Jolt: Update to 5.3.0 2025-03-21 17:17:55 +01:00
Jorrit Rouwe
3e608b8b14 No longer limiting max voided features/delayed results 2025-02-09 11:52:19 +01:00
Mikael Hermansson
41afe2de56 Update Jolt Physics BoxShape to allow for zero-sized boxes 2025-01-22 23:46:28 +01:00
Rémi Verschelde
4727f0707b Jolt: Update to commit f094082aa, adding RISC-V, PPC64 and LoongArch support
Fixes #100557.
2024-12-21 15:15:50 +01:00
Mikael Hermansson
d470c2ac6a Add Jolt Physics as an alternative 3D physics engine
Co-authored-by: Jorrit Rouwe <jrouwe@gmail.com>
2024-12-11 13:57:25 +01:00