On this page
Jitter 2.7.1 (2025-06-28)
Added RigidBody.EnableGyroscopicForces
to include gyroscopic forces.
Jitter 2.7.0 (2025-06-14)
Dropped .NET7 support
Added JQuaternion.ToAxisAngle
method
Renamed JBBox
to JBoundingBox
and TreeBBox
to TreeBox
.
Various smaller API changes.
Jitter 2.6.7 (2025-06-09)
Introduced SIMD accelerated TreeBBox
for DynamicTree
.
Jitter 2.6.6 (2025-05-31)
Implicit conversion for JVector
and JQuaternion
from tuples, e.g. cube.Position = (1, 2, 3);
.
Added PreStep
and PostStep
to World.Timings
.
Added NarrowPhase.Sweep
overload which calculates time of impact (TOI) for rotating shapes.
RegisterContact
no longer requires a penetration
and a speculative
parameter.
Bugfix: MathHelper.RotationQuaternion
, fixed wrong/not normalized quaternion generation for large dt
.
Added an additional normal
out-parameter to NarrowPhase.Distance
.
Renamed JVector.TransposedTransform(in JVector vector, in JQuaternion quat)
to ConjugatedTransform
.
Added Anchor1
and Anchor2
properties to BallSocket
.
Bugfix: Skipping degenerate triangles in TriangleMesh
now works correctly.
Jitter 2.6.5 (2025-05-21)
Rigid bodies now activate on velocity or force changes.
Removed FatTriangleShape.
Renamed 'Active' to 'ActiveCount' and add span-based accessors in ReadOnlyPartitionedSet.
Fixed bug in TriangleEdgeCollisionFilter.
Jitter 2.6.4 (2025-05-19)
Breaking Change: Triangle winding order in TriangleMesh
is now counter-clockwise (CCW) for front-facing triangles.
If you're using TriangleMesh
, swap the vertex order to maintain correct normal orientation.
Added JTriangle.RayIntersect
method.
Renamed ConvexHullIntersection
to CollisionManifold
.
Modified support function for BoxShape
.
Jitter 2.6.3 (2025-05-17)
Aligned rigid bodies (RigidBodyData
) to a 64-byte boundary (reduce false sharing).
Bugfix in speculative contacts.
Jitter 2.6.2 (2025-05-06)
Use Generics in NarrowPhase.cs
(avoid boxing for structs implementing the ISupportMappable
interface).
Added special code paths in Contact.cs
for static bodies (avoid unnecessary cache line invalidation).
Added PredictPosition
, PredictOrientation
and PredictPose
to RigidBody
.
Added CreateFromAxisAngle
and Normalize
methods in JQuaternion
.
Jitter 2.6.1 (2025-04-24)
Bugfix in TriangleEdgeCollisionFilter
for speculative contacts.
Jitter 2.6.0 (2025-04-24)
Added SampleHull
and MakeHull
to ShapeHelper
.
Fixed hill climbing getting stuck for ConvexHullShape
s.
Added SIMD support for PointCloudShape
s.
Added option to ignore degenerated triangles in TriangleMesh
.
Made thickness parameter mandatory in FatTriangleShape
.
Added Fisher-Yates shuffle to DynamicTree.Optimize
.
Optimized TriangleEdgeCollisionFilter
.
Jitter 2.5.9 (2025-04-17)
Use CollideEpsilon
1e-5 in MPREPA.
Fixed a bug in ShardedDictionary
.
Jitter 2.5.8 (2025-04-16)
Fixed DynamicTree.Optimize
messing up collision pairs.
Refactored SoftBody.cs
Improved TriangleEdgeCollisionFilter
.
Further reduced GC.
Jitter 2.5.7 (2025-04-06)
Fixed possible crash when dynamically making bodies static.
Improved memory footprint and reduced GC.
Added Logger
as a replacement for Trace
.
Jitter 2.5.6 (2025-03-08)
Fixed concurrency bug in world.GetArbiter
.
Jitter 2.5.5 (2025-03-02)
Added implicit conversion operators for System.Numerics Vector3 and Quaternion.
Replaced Trace.WriteLine with Trace.Information, Warning, Error.
Jitter 2.5.4 (2025-02-08)
Renamed JAngle.Radiant
to JAngle.Radian
.
Renamed namespace Jitter2.UnmanagedMemory
to Jitter2.Unmanaged
.
Fixed body.AddShape(IEnumerable<RigidBodyShape> shapes)
for one-time-use iterators.
Smaller improvements in XML-documentation.
Jitter 2.5.3 (2025-01-12)