Commit: 5611237391db8badf5e64dc559b5ac456631e1de
Author: Campbell Barton
Date:   Mon Sep 14 15:55:43 2015 +1000
Branches: master
https://developer.blender.org/rB5611237391db8badf5e64dc559b5ac456631e1de

Fix T45699: own regression w/ looptri update

Baking was still checking tessface in parts.

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

M       source/blender/editors/object/object_bake.c
M       source/blender/render/intern/source/multires_bake.c

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

diff --git a/source/blender/editors/object/object_bake.c 
b/source/blender/editors/object/object_bake.c
index bd847fc..ecaa05a 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -215,7 +215,7 @@ static DerivedMesh *multiresbake_create_loresdm(Scene 
*scene, Object *ob, int *l
                tmp_mmd.simple = true;
        }
 
-       DM_set_only_copy(cddm, CD_MASK_BAREMESH | CD_MASK_MFACE | 
CD_MASK_MTFACE);
+       DM_set_only_copy(cddm, CD_MASK_BAREMESH);
 
        tmp_mmd.lvl = *lvl;
        tmp_mmd.sculptlvl = *lvl;
@@ -283,23 +283,6 @@ static void clear_single_image(Image *image, ClearFlag 
flag)
        }
 }
 
-static void clear_images(MTFace *mtface, int totface, ClearFlag flag)
-{
-       int a;
-
-       for (a = 0; a < totface; a++) {
-               mtface[a].tpage->id.flag &= ~LIB_DOIT;
-       }
-
-       for (a = 0; a < totface; a++) {
-               clear_single_image(mtface[a].tpage, flag);
-       }
-
-       for (a = 0; a < totface; a++) {
-               mtface[a].tpage->id.flag &= ~LIB_DOIT;
-       }
-}
-
 static void clear_images_poly(MTexPoly *mtpoly, int totpoly, ClearFlag flag)
 {
        int a;
@@ -342,7 +325,6 @@ static int multiresbake_image_exec_locked(bContext *C, 
wmOperator *op)
                                clear_flag = CLEAR_DISPLACEMENT;
                        }
 
-                       clear_images(me->mtface, me->totface, clear_flag);
                        clear_images_poly(me->mtpoly, me->totpoly, clear_flag);
                }
                CTX_DATA_END;
@@ -440,7 +422,7 @@ static void multiresbake_startjob(void *bkv, short *stop, 
short *do_update, floa
        if (bkj->bake_clear) {  /* clear images */
                for (data = bkj->data.first; data; data = data->next) {
                        DerivedMesh *dm = data->lores_dm;
-                       MTFace *mtface = CustomData_get_layer(&dm->faceData, 
CD_MTFACE);
+                       MTexPoly *mtexpoly = 
CustomData_get_layer(&dm->polyData, CD_MTEXPOLY);
                        ClearFlag clear_flag = 0;
 
                        if (bkj->mode == RE_BAKE_NORMALS) {
@@ -450,7 +432,7 @@ static void multiresbake_startjob(void *bkv, short *stop, 
short *do_update, floa
                                clear_flag = CLEAR_DISPLACEMENT;
                        }
 
-                       clear_images(mtface, dm->getNumTessFaces(dm), 
clear_flag);
+                       clear_images_poly(mtexpoly, dm->getNumPolys(dm), 
clear_flag);
                }
        }
 
diff --git a/source/blender/render/intern/source/multires_bake.c 
b/source/blender/render/intern/source/multires_bake.c
index 5fbd980..0223f76 100644
--- a/source/blender/render/intern/source/multires_bake.c
+++ b/source/blender/render/intern/source/multires_bake.c
@@ -1179,20 +1179,20 @@ static void apply_ao_callback(DerivedMesh *lores_dm, 
DerivedMesh *hires_dm, void
 
 static void count_images(MultiresBakeRender *bkr)
 {
-       int a, totface;
+       int a, totpoly;
        DerivedMesh *dm = bkr->lores_dm;
-       MTFace *mtface = CustomData_get_layer(&dm->faceData, CD_MTFACE);
+       MTexPoly *mtexpoly = CustomData_get_layer(&dm->polyData, CD_MTEXPOLY);
 
        BLI_listbase_clear(&bkr->image);
        bkr->tot_image = 0;
 
-       totface = dm->getNumTessFaces(dm);
+       totpoly = dm->getNumPolys(dm);
 
-       for (a = 0; a < totface; a++)
-               mtface[a].tpage->id.flag &= ~LIB_DOIT;
+       for (a = 0; a < totpoly; a++)
+               mtexpoly[a].tpage->id.flag &= ~LIB_DOIT;
 
-       for (a = 0; a < totface; a++) {
-               Image *ima = mtface[a].tpage;
+       for (a = 0; a < totpoly; a++) {
+               Image *ima = mtexpoly[a].tpage;
                if ((ima->id.flag & LIB_DOIT) == 0) {
                        LinkData *data = BLI_genericNodeN(ima);
                        BLI_addtail(&bkr->image, data);
@@ -1201,8 +1201,8 @@ static void count_images(MultiresBakeRender *bkr)
                }
        }
 
-       for (a = 0; a < totface; a++)
-               mtface[a].tpage->id.flag &= ~LIB_DOIT;
+       for (a = 0; a < totpoly; a++)
+               mtexpoly[a].tpage->id.flag &= ~LIB_DOIT;
 }
 
 static void bake_images(MultiresBakeRender *bkr, MultiresBakeResult *result)

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

Reply via email to