Skip to content

Releases: ebassi/graphene

Graphene 1.10.8 (stable)

18 Mar 17:07
Compare
Choose a tag to compare

Changes since 1.10.6

  • ray: simplify NaN checking [Érico Nogueira]
  • Build fixes [Dor Askayo, q66, Chun-wei Fan, Marc-André Lureau]
  • SIMD: Make reciprocal operations 0-safe [Dor Askayo]
  • SIMD: Add simplified scalar reciprocal [Dor Askayo]
  • ray: Improve intersection [Dor Askayo]
  • tests: Fix installed introspection test [Matthias Devlamynck]
  • Fix detection of AArch64 [Dor Askayo]
  • tests: Add ray intersection unit [Sebastian Keller]
  • Fix ARM64 build on Windows [Chun-wei Fan]
  • Documentation fixes

Graphene 1.10.6 (stable)

06 Apr 13:37
Compare
Choose a tag to compare

Issues fixed since 1.10.4

  • Hide GRAPHENE_SIMD_S from the introspection data [#211, Simon McVittie]
  • Nudge ray axis when intersecting a box [#214, Jonas Ådahl]

Graphene 1.10.4 (stable)

09 Feb 23:30
Compare
Choose a tag to compare

Changes since 1.10.2:

  • Add ARM NEON support when building with Visual Studio [Chun-wei Fan]
  • Build fix on ARM64 Windows [Chun-wei Fan]
  • Drop deprecated "python3" Meson module
  • Fix detection of non-intersecting boxes [Daniel van Vugt, #201]
  • Only enable SSE2 on x86_64 [Xi Ruoyao]
  • Use the compiler-appropriate alignment attributes
  • Change introspection option to a yielding feature [Xavier Claessens]

Graphene 1.10.2 (stable)

22 Jun 15:11
Compare
Choose a tag to compare

List of changes since 1.10.0

  • Disable SSE on 32bit builds on Windows with MSVC
  • Add more documentation on the conventions used by matrix operations
  • Fix Euler angles/matrix conversion

List of bugs fixed since 1.10.0

  • #173 - meson: Don't error with MSVC C4819 warning [Seungha Yang]
  • #175 - Few fixes for Visual Studio builds
  • #176 - Normalize input rectangles just once
  • #177 - meson: pick up gobject from a subproject fallback as well [Tim-Philipp Müller]
  • #179 - meson: expose graphene_gobject_dep variable for graphene-gobject [Tim-Philipp Müller]
  • #180 - GIR file contains true/false
  • #182 - tests: installed tests should use TAP [Ross Burton]
  • #183 - meson: Fix check for builtype arguments [Nirbheek Chauhan]
  • #185 - _isnanf on Windows instead of isnanf
  • #186 - matrix_init_look_at: Handle corner cases better [Alexander Larsson]
  • #191 - Issue with euler conversions
  • #192 - matrix: Clarify API docs of graphene_matrix_init_look_at() [Alexander Larsson]
  • #193 - Euler: Fix matrix orientation in euler matrix (de)composition [Alexander Larsson]

Graphene 1.10.0 (stable)

08 Sep 16:37
Compare
Choose a tag to compare

New stable release, in time for GNOME 3.34!

A few last minute API additions, mostly driven by Gthree.

Changes since 1.9.6:

  • Add graphene_matrix_decompose() [#170]
  • Add intersection methods to graphene_ray_t [#171]
  • Add graphene_triangle_init_from_float() [#171]
  • Add graphene_triangle_get_uv() [#171]
  • Fix graphene_ray_transform() [#169, Alexander Larsson]
  • Documentation fixes

Graphene 1.9.6 (snapshot)

08 Aug 16:55
Compare
Choose a tag to compare
Pre-release

A new snapshot, probably the last towards the 1.10 stable release.

New API and fixes needed by GThree, documentation fixes, and a substantial reorganisation of the repository.

Changes since 1.9.4

  • Add radians based initialisers for graphene_euler_t
  • Use pragma once for the header inclusion guard
  • Remove unused function (#159)
  • Add multiply(), scale(), and add() operators to graphene_quaternion_t
  • Add lerp() operator to all vector types
  • Add graphene_plane_transform()
  • Documentation updates for graphene_ray_t
  • Fix graphene_box_get_center() and graphene_box_get_bounding_sphere() (#165)
  • Ensure that we detect empty or infinite boxes in the graphene_box_t API

Graphene 1.9.4 (snapshot)

19 Jun 18:17
Compare
Choose a tag to compare
Pre-release

Three big pieces landed in this snapshot:

  • Graphene now uses an ancillary library called µTest for its test suite; this means it's possible to build and run the test suite without necessarily depending on GLib
  • the conversion of the Euler angles type to and from matrices and quaternions has been rewritten from scratch, and should not only be finally correct, but it should also cover more use cases—namely the "proper" Euler angles as well as the Tait–Bryan angles
  • the ARM NEON implementation of the SIMD types has been improved, fixed, and tested, so it's not marked as experimental any more

Changes since 1.9.2

  • Require Meson ≥ 0.50.1
  • Fix graphene_quaternion_equal() to consider the orientation, not just the component equality
  • Fix graphene_quaternion_slerp() to always interpolate along the shortest path [Alex Larsson]
  • Re-implement the conversion of graphene_euler_t to and from graphene_matrix_t and graphene_quaternion_t
  • Add graphene_rectangle_get_area() [Marco Trevisan]
  • Document restrictions of graphene_rect_round(), and deprecate the function [Marco Trevisan]
  • Add graphene_rect_round_extents() [Marco Trevisan]
  • Port the test suite from GLib's testing utilities to µTest
  • Remove internal floating point comparisons
  • Improve the NEON extensions detection code
  • Fix comparison operators for graphene_simd4f_t on ARM using the NEON extensions
  • Remove the "experimental" compiler warning from the ARM NEON implementation of graphene_simd4f_t

Many thanks to

Alex Larsson, Marco Trevisan, Christoph Reiter

Graphene 1.9.2 (snapshot)

14 May 09:32
Compare
Choose a tag to compare
Pre-release

New development cycle, with new API added for GTK 4 and for the in progress work of porting Mutter to use Graphene.

Changes since 1.8

  • Add graphene_rect_scale() method [Georges Basile Stavracas Neto]
  • Fix warning from Meson by dropping unnecessary argument to configure_file()
  • Clean up arguments of pkgconfig.generate()
  • Add equality operators to graphene_matrix_t
  • Add getters for translation components of a graphene_matrix_t
  • Use darwin_versions argument instead of rolling our own [Tom Schoonjans]
  • Add GRAPHENE_RECT_INIT_ZERO [Georges Basile Stavracas Neto]

Graphene 1.8.6 (stable)

05 Mar 17:41
Compare
Choose a tag to compare

Bug fixes, bug fixes everywhere!

Also: documentation changes to clarify what we do behind the veil of the various matrix multiplication functions. Hopefully, this should help people using Graphene especially when it comes to integration with other libraries.

Changes since 1.8.4

  • Fix matrix multiplication when the result matrix is also one of the operands [#135, Benjamin Otte]
  • Fix check when converting a 4x4 matrix into an affine transformation matrix [#136, Benjamin Otte]
  • Fix interpolation between matrices with a perspective component [#138, Benjamin Otte]
  • Documentation fixes for matrix/matrix and matrix/vector multiplication operators [#137, Emmanuele Bassi, Matthias Clasen, Pekka Paalanen]

Graphene 1.8.4 (stable)

17 Feb 12:59
Compare
Choose a tag to compare

Mostly a bug fixing release, with an especially glaring bug fix in the point transformation function of graphene_matrix_t that was found thanks to GTK 4. Now the function is covered by the test suite, so it should not regress.

Another major fix is the ensuring that we have a description of the SIMD types through introspection, which means that language bindings can finally know how big every other structure using them is. The SIMD API is still not available through introspection, as it's a pure C convenience.

List of changes since 1.8.2

  • Require Meson ≥ 0.48.0
  • Fix matrix/point transformation [#125]
  • Build fixes for MSVC [#130, Nirbheek Chauhan]
  • Introspection fixes for bool [#131, Christoph Reiter]
  • Fix the InitOnce checks on Windows [#127, #133]
  • Correctly parse SIMD types for introspection [#129]
  • Build fixes for the pkg-config file [#132]
  • Documentation fixes:
    • Clarify matrix/vector/point multiplication
    • Clarify plane description [#55]
    • Clarify the units for the matrix skew factors
    • Document use of graphene-gobject with Meson