Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Tönne <lukas.toenne@gmail.com>2014-10-30 17:26:41 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2014-10-30 17:31:18 +0300
commitaf9da0be438812ee95698ae3e9adbbb49ba6b825 (patch)
treeb9262c0866dbfda318fc64b5f9f306a73abc41a6
parentf07cd77b48c1d70a59bad895e1165e6b7cf7bb2d (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.h1
-rw-r--r--source/blender/blenlib/intern/math_matrix.c9
-rw-r--r--source/blender/editors/object/object_bake_api.c2
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++;
}