Skip to content

Releases: JOML-CI/JOML

1.9.24

06 Apr 08:45
Compare
Choose a tag to compare

Additions

Fixes

1.9.23

29 Mar 08:45
Compare
Choose a tag to compare

Additions

Fixes

Miscellaneous

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

1.9.22

23 Feb 00:15
Compare
Choose a tag to compare

Additions

Fixes

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

1.9.21

21 Feb 21:28
Compare
Choose a tag to compare

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

1.9.20

01 Jan 12:29
Compare
Choose a tag to compare

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)

1.9.19

11 Oct 18:23
Compare
Choose a tag to compare

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)

1.9.18

29 Sep 13:26
Compare
Choose a tag to compare

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)

1.9.17

18 Aug 17:47
Compare
Choose a tag to compare

Additions

  • Matrix3.cofactor(), Matrix4/4x3.cofactor3x3() - (c565362)
  • Matrix3.reflect()/reflection() - (18eae11)

Fixes

1.9.16

30 Jun 09:17
Compare
Choose a tag to compare

Additions

  • Support Graal Native Image compilation - Artifact joml-graal (7807210)

Fixes

Miscellaneous

  • Simplify Matrix4.withLookAtUp() and make it more robust - (fb29ecd)

1.9.15

01 Jun 09:55
Compare
Choose a tag to compare

Additions

Fixes

  • Matrix4x3d.get4x4(), Matrix4d.get(), Matrix4x3d.get/getTransposed(), Matrix3x2d.get4x4(), Matrix3x2d.get3x3(), Matrix3x2d.get() - Thanks to @Earthcomputer (#181, #183) (564712e)