Commit: e1ed47eb5b6ec3f1501bed0b34bfa7894acee022
Author: Campbell Barton
Date:   Mon Apr 27 22:43:01 2015 +1000
Branches: master
https://developer.blender.org/rBe1ed47eb5b6ec3f1501bed0b34bfa7894acee022

Fix T44512: Cycles fails normal bake /w scale flip

===================================================================

M       source/blender/editors/object/object_bake_api.c
M       source/blender/render/extern/include/RE_bake.h
M       source/blender/render/intern/source/bake_api.c

===================================================================

diff --git a/source/blender/editors/object/object_bake_api.c 
b/source/blender/editors/object/object_bake_api.c
index 578335a..b382fba 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -775,11 +775,7 @@ static int bake(
                        copy_m4_m4(highpoly[i].obmat, highpoly[i].ob->obmat);
                        invert_m4_m4(highpoly[i].imat, highpoly[i].obmat);
 
-                       /* rotation */
-                       normalize_m4_m4(highpoly[i].rotmat, highpoly[i].imat);
-                       zero_v3(highpoly[i].rotmat[3]);
-                       if (is_negative_m4(highpoly[i].rotmat))
-                               negate_mat3_m4(highpoly[i].rotmat);
+                       highpoly[i].is_flip_object = 
is_negative_m4(highpoly[i].ob->obmat);
 
                        i++;
                }
diff --git a/source/blender/render/extern/include/RE_bake.h 
b/source/blender/render/extern/include/RE_bake.h
index e8a8986..0750ea1 100644
--- a/source/blender/render/extern/include/RE_bake.h
+++ b/source/blender/render/extern/include/RE_bake.h
@@ -61,10 +61,10 @@ typedef struct BakeHighPolyData {
        struct ModifierData *tri_mod;
        struct Mesh *me;
        char restrict_flag;
+       bool is_flip_object;
 
        float obmat[4][4];
        float imat[4][4];
-       float rotmat[4][4];
 } BakeHighPolyData;
 
 /* external_engine.c */
diff --git a/source/blender/render/intern/source/bake_api.c 
b/source/blender/render/intern/source/bake_api.c
index 1f7555b..bc5db5b 100644
--- a/source/blender/render/intern/source/bake_api.c
+++ b/source/blender/render/intern/source/bake_api.c
@@ -300,7 +300,7 @@ static bool cast_ray_highpoly(
                mul_v3_m4v3(co_high, highpoly[i].imat, co);
 
                /* rotates */
-               mul_v3_m4v3(dir_high, highpoly[i].rotmat, dir);
+               mul_v3_mat3_m4v3(dir_high, highpoly[i].imat, dir);
                normalize_v3(dir_high);
 
                /* cast ray */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to