Skip to content

@httpdigest httpdigest released this Mar 8, 2021

Additions

  • Reintroduce Intersectionf/d classes - temporarily moved to joml-primitives in the 1.10.0 release (51fd2fe)
  • Matrix4x3.scaleAround() - (0b464dc)
  • Matrix.set(int, Buffer) - (#281) (7fd5da7)

Fixes

Miscellaneous

  • Implement java.lang.Cloneable for all classes - (#279) (2236936)
  • Use Math.fma() in Matrix4.project() - (23fd272)
  • Fix JavaDocs of Matrix4(x3).arcball(..., dest) - (ffc5962)
  • Use Math.fma() in more Matrix4f.rotate*() methods - (b6f3bf9)
Assets 2

@httpdigest httpdigest released this Dec 28, 2020

Breaking Changes

  • Geometry primitives classes and the Intersectionf/d classes have been moved to org.joml:joml-primitives under package org.joml.primitives. The change of package org.joml to org.joml.primitives for these classes was necessary because multiple modules in the Java 9+ module system (Jigsaw) cannot export the same package when one module also depends on the other for that same package. - (#274) (8211a8a)

Development (including release notes for the changes between 1.9.25 and 1.10.0) of those primitives are continued in the JOML-CI/joml-primitives repository. For this 1.10.0 release, see: https://github.com/JOML-CI/joml-primitives/releases/tag/1.10.0

Additions

Fixes

Miscellaneous

Assets 4

@httpdigest httpdigest released this May 31, 2020

Breaking Changes

  • Unify AABB/Rectangle intersection test method names - Thanks to @pollend (#239) (#240) (582daa1)
    • rename AABB.test*() to intersects*()
    • rename Rectangle.intersects() to intersectsRectangle()
    • rename Rectangle.contains() to containsPoint()

Additions

Fixes

Miscellaneous

  • Make Matrix4f.rotateXYZ() take a Vector3fc - Thanks to @cry0genic (#226) (b2d980c)
  • Improve performance of Matrix4.set/get(column, row) using Unsafe - (3e016d3)
  • Add -Djoml.forceUnsafe option to force the use of Unsafe in MemUtil - (53c0245)
  • Improve performance of Matrix3.set/get(column, row) using Unsafe - (d024b83)
  • Do not include sources and gwt xml in Graal build - (7fdd55a)
  • Fix JavaDocs of methods returning this - (be76b05)
Assets 5

@httpdigest httpdigest released this Apr 6, 2020

Additions

Fixes

Assets 5

@httpdigest httpdigest released this Mar 29, 2020

Additions

  • Quaternion/Matrix.isFinite() - (#211) (537c93d)
  • Math.safeAsin() to handle floating-point inaccuracies - (#217) (9aecd42)
  • Rectangle.scale() - Thanks to @MKMax (#216) (7615884)

Fixes

Miscellaneous

  • Format NaN/Inf without Unicode characters - (#215) (8037c4d)
  • Improve Matrix4.positive[XYZ]() when orthonormal - (95aa6ea)
Assets 5

@httpdigest httpdigest released this Feb 23, 2020

Additions

Fixes

  • Regression in Vector3f/4f.rotateX/rotateY/rotateZ() and Vector3f.cross() - (since 1.9.21) Thanks to @ieperen3039 for reporting (#210) (9edcb4c)
Assets 5

@httpdigest httpdigest released this Feb 21, 2020

Breaking Changes

  • Do not expose Matrix._mNN() methods - (51efdc9) also see this SO thread
  • Rename Quaterniond.conjugate(Quaterniondc) to conjugateBy - (4ceab96)

Additions

  • Vector2/3/4i constructors/setters/getters with explicit rounding - (ba58982)
  • Rectanglei - (b308604)
  • Vector.absolute() - (2064cdd)
  • Quaternion.transformUnit() - (c3ee15e)
  • Vector3/4.mulAdd() - (9b5becd)
  • Matrix3.[get/set]RowColumn() and Matrix4.get/set() - (d4f6026)
  • Vector(array) constructor and Vector.set(array) - (5677dd9)
  • Float overloads for Math methods - (8f092f2)
  • Matrix4/3.setTransposed(Matrix4/3) - (bc9807e)
  • Vector4d.set(double, double, double) - (3cc9787)
  • Matrix4x3d constructor/set taking Matrix3f - (7bafb14)
  • Vector3i.div() and Vector4i.div(float)/(int, Vector4i) overloads - (577ffa8)
  • Matrix4.mul(<matrix-elements>) - (6041e66)
  • Matrix4.mul3x3(<matrix-elements>) - (5ac4335)

Fixes

  • Change Rectangle.contains() parameter to Vector2[f/d]c (b308604)
  • Quaternion.transform() to work with non-unit quaternions - Thanks to @lukehutch for reporting (#204) (c3ee15e)
  • Change parameter of Quaternionf.difference() to Quaternionfc - (85f94f5)

Miscellaneous

Assets 5

@httpdigest httpdigest released this Jan 1, 2020

Additions

  • Matrix4x3f.invert(Matrix4f) and Matrix4x3f.withLookAtUp() - (07dbd0f)
  • Matrix4f/Matrix3f/Matrix4x3f.get3x4(Buffer) - (9c84c6e)
  • FrustumIntersectionf.distanceToPlane() - (6fd65c3)
  • Plane.distance(point) - (749a03f)
  • AABB.transform(Matrix4fc) - (57e7629)
  • Quaternion.conjugateBy(Quaternion) - (#199) (7682fcb)
  • Math.atan2() approximation - (06e4c28)
  • Mixed-precision constructors/setters/getters/methods to Vector2/3/4, AxisAngle, Quaternion - (#201) (f7a38ad, 5765414, 58b814c, d590aa0, e09c57f)
  • Vector3/4.mulProject() with w component but writing into Vector3 - (bfca22d)
  • Matrix4.perspectiveInvOrigin() - (7f8b424)

Fixes

Miscellaneous

  • Use java.lang.Math.fma() in some methods in Matrix3/4/4x3 when available - (7fdf43d, b7bc89d)
Assets 5

@httpdigest httpdigest released this Oct 11, 2019

Fixes

  • Matrix4/4x3/3.rotation/rotate/rotateLocal/rotateTranslation() and Vector3/4.rotateAxis() with negated base axis (since JOML 1.9.18) - Thanks to @Ealrann for reporting (#193) (c707e73)

Miscellaneous

  • Optimize Matrix4x3.rotateLocal() - (6582608)
Assets 4

@httpdigest httpdigest released this Sep 29, 2019

Additions

  • Rectangle.intersects()/contains() - (da1c49b)
  • Vector4fc.normalize3() - (dfb1a31)
  • Vector3d/4d.get(FloatBuffer)/getf(ByteBuffer) - (aa91a18)
  • Implement Externalizable for all data classes - (#192) (f2b47e8)
  • AABB.translate() - (1b0d673)
  • Circle.translate() - (31c0dc8)
  • Rectangle.translate() - (77e6ffd)
  • Sphere.translate() - (9212394)
  • Three-point Plane constructor - (6be66ec)
  • Sphere constructor with Vector3 center - (381db17)
  • AABBd(Vector3fc) constructor - (161eeb2)
  • AABB.getMin/getMax(component) - (e7af424)

Fixes

  • Handle far plane at infinity in Matrix4.unproject[Inv]Ray() - (fa3f490, 219e2d4)
  • State initialization of Random.Xorshiro128 - Thanks to @timbaker for reporting (#191) (750a1a9)
  • Vector4.mulProject() - (b405e64)

Miscellaneous

  • Add 'jdk.unsupported' as optional Java module dependency - (#188) (e6428b6)
  • Add Buffer bounds checks when -Djoml.debug - (#189) (3e91920)
  • Determine matrix properties after deserialization - (629a5be)
  • Optimize Matrix4/4x3.rotate/rotation(angle, axis) - (6938c09)
  • Remove special angle-case handling in Matrix4x3.rotate/rotation[XYZ]() - (06697be)
  • Improve performance of Matrix4/4x3.rotateXYZ/YXZ/ZYX() - (a1a1dbc)
  • Remove special angle-case handling in Matrix3f.rotate[XYZ]() - (6a57d8e)
  • Detect if base axis in Vector3/4.rotateAxis(angle, axis) - (ed9c2e0)
  • Improve performance of Matrix4/4x3.rotate[XYZ]() - (9da6ca9)
  • Improve base-axis rotations in Matrix4/4x3.rotateTranslation() - (d6a6296)
  • Improve Matrix4/4x3.rotate(XYZ|YXZ|ZYX)() - (8d5f287)
  • JavaDocs - (5b94410, 7a8c857, 4defb7b, 275d7a4)
Assets 5