Skip to content

Releases: stephengold/jolt-jni

3.7.0

24 Feb 02:04

Choose a tag to compare

  • Bugfix: missing TRACE_NEW in BodyInterface_getTransformedShape (issue #37)

  • Added classes:

    • BatchBodyInterface
    • RMat44Array
    • ShapeRefCArray
    • TransformedShapeArray
  • Added method Mat44Array.length().

  • Added runtime checks to Mat44Array.

  • Updated the Jolt-Physics source and assets to sg260221 (=f8a329a).

3.6.0

12 Feb 00:03

Choose a tag to compare

  • Bugfixes:

    • unsatisfied link for Geometry.create(long)
    • logic error in the Jolt.implementsDeterminismLog() method
    • premature garbage collection of wrapped streams
  • Added support for hair simulation.

  • Added support for offloading computation to GPUs.

  • Added Vulkan compute to Linux/Windows x86_64 platforms using v1.4.341.1 of the Vulkan SDK.

  • Added classes:

    • Batch (for debug rendering)
    • ComputeQueue
    • ComputeQueueRef
    • ComputeQueueResult
    • ComputeSystem
    • ComputeSystemRef
    • ComputeSystemResult
    • CustomLoader (for shaders)
    • DrawSettings (for hair)
    • ERenderStrandColor enum
    • Float4
    • Gradient
    • Hair
    • HairMaterial
    • HairSettings
    • HairSettingsRef
    • HairShaders
    • HairShadersRef
    • HairSkinWeight
    • Loader (for shaders)
    • RStrand
    • SStrand
    • SStrandList
    • SVertex
    • SVertexList
  • Added interfaces:

    • ConstDrawSettings
    • ConstFloat3
    • ConstFloat4
    • ConstGradient
    • ConstHairMaterial
    • ConstHairSettings
    • ConstPhysicsSystem
    • ConstRStrand
    • ConstSStrand
    • ConstSVertex
  • Added public methods:

    • Body.getMotionPropertiesUnchecked()
    • ConstFloat3.x()
    • ConstFloat3.y()
    • ConstFloat3.z()
    • ConstIndexedTriangleNoMaterial.put()
    • ConvexHullShapeSettings.addPoint()
    • ConvexHullShapeSettings.copyPoint()
    • ConvexHullShapeSettings.copyPoints()
    • ConvexHullShapeSettings.setPoint()
    • DebugRenderer.createTriangleBatch()
    • Float3.set(FloatBuffer)
    • Jolt.getAssertCallback()
    • Jolt.installAssertCallback()
    • Jolt.installCrashAssertCallback()
    • Jolt.installIgnoreAssertCallback()
    • Jolt.loadResourceAsBytes()
    • Jolt.newDirectLongBuffer()
    • Jolt.registerHair()
    • ObjectStreamIn.sReadObject(StringStream, HairSettingsRef)
    • Ragdoll.addLinearVelocity() (2 methods)
    • RagdollRef.addLinearVelocity() (2 methods)
    • StreamInWrapper.readBytes(Float3)
    • StreamInWrapper.readIndexedTriangles()
    • StreamInWrapper.readMatrices()
    • StreamInWrapper.readSkinWeights()
    • StreamInWrapper.readVec3()
  • Added public constructors:

    • Float3(FloatBuffer, int)
    • Geometry(Batch, ConstAaBox)
    • Vec3(FloatBuffer int)
  • Refined the return type of Geometry.toRef().

  • Added HairSettings support to ObjectStreamIn.sReadObject(String, Ref), ObjectStreamOut.sWriteObject(String, EStreamType, ConstJoltPhysicsObject), and sWriteObject(StringStream, EStreamType, ConstJoltPhysicsObject).

  • Added a runtime check for illegal state in Body.setMotionType().

  • Updated the Jolt-Physics source and assets to sg260209 (=49f60cb).

  • Updated the OSHI library v6.9.3 .

3.5.2

07 Jan 23:27

Choose a tag to compare

  • Bugfix: logic error in Body.applyBuoyancyImpulse() (issue #31)
  • Updated the Checkstyle tool to v13, requiring JDK 21+ to build.

3.5.1

28 Dec 19:22

Choose a tag to compare

  • Bugfixes:
    • race condition in JoltPhysicsObject.startCleaner()
    • Jolt.listClasses() depends on the local charset
  • Altered the half-extent constraints for BoxShape and BoxShapeSettings.
  • Updated the Jolt-Physics source and assets to v5.5.0 (=23dadd0e).
  • Updated the OSHI library to v6.9.2 .

3.5.0

28 Oct 06:25

Choose a tag to compare

  • Bugfixes:

    • unsafe stack reference in TransformedShape.getShapeScale()
    • method name inconsistency in BodyCreationSettings (issue #29)
    • invalid mark in ConvexShape.getSubmergedVolume() (issue #30)
  • Additions:

    • alternate signature for ConstBody.getShape()
    • ConstCharacterBase.getShape()
    • ConstMotorSettings interface
    • ConstVehicleConstraint.getWheel()
    • ConstVehicleConstraint.getWheelPositionAndRotation()
  • Generalized 4 MeshShapeSettings constructors.

  • Handled more cases in ObjectStreamIn.sReadObject() .

  • Publicize the 2-argument constructor for Body .

  • Updated the Jolt-Physics source and assets to sg251012 (=1e38fc6).

  • Updated the Android NDK to r29.

3.4.0

30 Sep 18:28

Choose a tag to compare

With this release, Jolt JNI began creating an internal counted reference for/to every refcounted object.
Every RefTarget is now a co-owner of its assigned native object.
This prevents such assigned objects being unintentionally freed and greatly simplifies memory management.

  • Bugfixes:

    • logic errors rendering Support.getSupportBulk() unusable
    • memory leaks in the copy constructors of CollideShapeSettings and MotorSettings
    • IndexedTriangleList.get() returns an object without ownership info
    • Shape.getMaterial() returns a contained object
  • Added methods:

    • BodyInterface.destroyBodies() and .removeBodies() (see PR #27)
    • Jolt.countDeletes()
    • Jolt.countNews()
    • Jolt.installCerrTraceCallback()
    • Jolt.installJavaTraceCallback()
    • SoftBodyCreationSettings.getFacesDoubleSided()
    • SoftBodyCreationSettings.setFacesDoubleSided()
    • Vec3Arg.copyTo(FloatBuffer, int)
  • Updated the Jolt-Physics source and assets to v5.4.0 (=sg250927 / 036ea7b1)

3.3.0

21 Sep 20:38

Choose a tag to compare

  • Bugfixes:
    • 3 copy-paste errors in FilteredContactListener.cpp (issue #26)
    • FilteredContactListener contact removals ignore body-filter settings
    • FilteredContactListener ignores its "enable removed" setting
    • heap corruption after invoking ConvexShape.getSupportFunction()
    • UnsatisfiedLinkError in CharacterBaseSettings
  • Added the ConstConvexShape interface.
  • Added the getRefCount() method to the ConstCharacterBase interface and the ConstCharacterBaseSettings interface.
  • Added more setLinearVelocity() signatures for physics characters.

3.2.0

20 Sep 17:50

Choose a tag to compare

  • Added 3 classes for efficient/flexible contact listening:
    • ContactListenerList
    • EFilterMode
    • FilteredContactListener
  • Generalized 2 body-lock multi constructors to solve issue #25.
  • Added 4 methods to the BodyInterface class, for avoiding garbage:
    • getAngularVelocity(int, Vec3)
    • getLinearVelocity(int, Vec3)
    • getPosition(int, RVec3)
    • getRotation(int, Quat)
  • Added getRefCount() to the ConstShape interface.
  • Generalized 2 PhysicsSystem setters to accept null arguments.
  • Updated the Jolt-Physics sourcecode and assets to e594aad (=sg250918).
  • Updated the OSHI library to v6.9.0 .

3.1.0

09 Sep 00:22

Choose a tag to compare

  • Allow use of both close() and a cleaner thread in a single app.
  • Added interfaces:
    • ConstVehicleCollisionTester
    • ConstVehicleController
    • ConstWheel
  • Added public constructors and methods to the libraries.
  • Added run-time checks for the maximum number of jobs.

3.0.1

01 Sep 02:22

Choose a tag to compare

Bugfix: many CharacterRefC and CharacterVirtualRefC methods crash the JVM