Ebassi Graphene Versions Save

A thin layer of graphic data types

1.10.8

2 years ago

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

1.10.6

3 years ago

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]

1.10.4

3 years ago

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]

1.10.2

3 years ago

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]

1.10.0

4 years ago

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

1.9.6

4 years ago

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

1.2.10

4 years ago

Changes since 1.2.8

  • Avoid false positives in the affine/2D matrix detection, due to excessive rounding

1.9.4

4 years ago

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

1.9.2

5 years ago

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]

1.8.6

5 years ago

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]