diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-10-30 17:26:41 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-10-30 17:31:18 +0300 |
commit | af9da0be438812ee95698ae3e9adbbb49ba6b825 (patch) | |
tree | b9262c0866dbfda318fc64b5f9f306a73abc41a6 | |
parent | f07cd77b48c1d70a59bad895e1165e6b7cf7bb2d (diff) |
Complementary fix for rB8054372: Follow the common naming scheme by
using negate_mat3_m4 instead of negate_m4.
This avoids changing the behavior and only flips the 3x3 part of the
matrix.
-rw-r--r-- | source/blender/blenlib/BLI_math_matrix.h | 1 | ||||
-rw-r--r-- | source/blender/blenlib/intern/math_matrix.c | 9 | ||||
-rw-r--r-- | source/blender/editors/object/object_bake_api.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h index ee8b53037b0..45972d03175 100644 --- a/source/blender/blenlib/BLI_math_matrix.h +++ b/source/blender/blenlib/BLI_math_matrix.h @@ -126,6 +126,7 @@ void mul_m4_fl(float R[4][4], float f); void mul_mat3_m4_fl(float R[4][4], float f); void negate_m3(float R[3][3]); +void negate_mat3_m4(float R[4][4]); void negate_m4(float R[4][4]); bool invert_m3_ex(float m[3][3], const float epsilon); diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c index fb04271fedd..0204c3bc86c 100644 --- a/source/blender/blenlib/intern/math_matrix.c +++ b/source/blender/blenlib/intern/math_matrix.c @@ -648,6 +648,15 @@ void negate_m3(float m[3][3]) m[i][j] *= -1.0f; } +void negate_mat3_m4(float m[4][4]) +{ + int i, j; + + for (i = 0; i < 3; i++) + for (j = 0; j < 3; j++) + m[i][j] *= -1.0f; +} + void negate_m4(float m[4][4]) { int i, j; diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c index 4821ffd4119..57fabcb06cf 100644 --- a/source/blender/editors/object/object_bake_api.c +++ b/source/blender/editors/object/object_bake_api.c @@ -768,7 +768,7 @@ static int bake( normalize_m4_m4(highpoly[i].rotmat, highpoly[i].imat); zero_v3(highpoly[i].rotmat[3]); if (is_negative_m4(highpoly[i].rotmat)) - negate_m4(highpoly[i].rotmat); + negate_mat3_m4(highpoly[i].rotmat); i++; } |