[mutter/gbsneto/graphene-matrix: 17/57] cogl/matrix: Get value using graphene matrix
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gbsneto/graphene-matrix: 17/57] cogl/matrix: Get value using graphene matrix
- Date: Thu, 24 Sep 2020 11:43:35 +0000 (UTC)
commit e0fe2889d9f20b21093979b3c3b23f35d16160f8
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Sep 10 14:45:22 2020 -0300
cogl/matrix: Get value using graphene matrix
Internally, a graphene_matrix_t representing the same transform that
of a CoglMatrix is the same matrix but transposed, so in order to get
the same element given a column and row for a matrix as if it would
be located in Cogl, it is necessary to swap the row and column when
retrieving it from the graphene matrix.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1439
cogl/cogl/cogl-matrix.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
---
diff --git a/cogl/cogl/cogl-matrix.c b/cogl/cogl/cogl-matrix.c
index f793e6eaa4..0b432b61d8 100644
--- a/cogl/cogl/cogl-matrix.c
+++ b/cogl/cogl/cogl-matrix.c
@@ -273,19 +273,6 @@ cogl_debug_matrix_print (const CoglMatrix *matrix)
_cogl_matrix_prefix_print ("", matrix);
}
-/*
- * References an element of 4x4 matrix.
- *
- * @m matrix array.
- * @c column of the desired element.
- * @r row of the desired element.
- *
- * Returns: value of the desired element.
- *
- * Calculate the linear storage index of the element and references it.
- */
-#define MAT(m,r,c) (m)[(c)*4+(r)]
-
/*
* Compute inverse of a transformation matrix.
*
@@ -720,7 +707,10 @@ cogl_matrix_get_value (const CoglMatrix *matrix,
unsigned int row,
unsigned int column)
{
- return MAT ((float *)matrix, row, column);
+ graphene_matrix_t m;
+
+ cogl_matrix_to_graphene_matrix (matrix, &m);
+ return graphene_matrix_get_value (&m, column, row);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]