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:
Diffstat (limited to 'source/blender/editors/object/object_bake.c')
-rw-r--r--source/blender/editors/object/object_bake.c52
1 files changed, 49 insertions, 3 deletions
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 2d5f0b5ff2b..4ce7b8843ca 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -364,6 +364,16 @@ static int multiresbake_test_break(MultiresBakeRender *bkr)
static void do_multires_bake(MultiresBakeRender *bkr, Image* ima, MPassKnownData passKnownData,
MInitBakeData initBakeData, MApplyBakeData applyBakeData, MFreeBakeData freeBakeData)
{
+#if 1 // BMESH_TODO
+ (void)bkr;
+ (void)ima;
+ (void)passKnownData;
+ (void)initBakeData;
+ (void)applyBakeData;
+ (void)freeBakeData;
+
+ printf("BMESH_TODO" AT "\n");
+#else
DerivedMesh *dm= bkr->lores_dm;
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
const int lvl= bkr->lvl;
@@ -446,6 +456,7 @@ static void do_multires_bake(MultiresBakeRender *bkr, Image* ima, MPassKnownData
if(freeBakeData)
freeBakeData(data.bake_data);
}
+#endif // BMESH_TODO
}
static void interp_bilinear_quad_data(float data[4][3], float u, float v, float res[3])
@@ -508,6 +519,17 @@ static void interp_bilinear_grid(DMGridData *grid, int grid_size, float crn_x, f
static void get_ccgdm_data(DerivedMesh *lodm, DerivedMesh *hidm, const int *origindex, const int lvl, const int face_index, const float u, const float v, float co[3], float n[3])
{
+#if 1 // BMESH_TODO
+ (void)lodm;
+ (void)hidm;
+ (void)origindex;
+ (void)lvl;
+ (void)face_index;
+ (void)u;
+ (void)v;
+ (void)co;
+ (void)n;
+#else
MFace mface;
DMGridData **grid_data;
float crn_x, crn_y;
@@ -549,6 +571,7 @@ static void get_ccgdm_data(DerivedMesh *lodm, DerivedMesh *hidm, const int *orig
if(co != NULL)
interp_bilinear_grid(grid_data[g_index + S], grid_size, crn_x, crn_y, 1, co);
+#endif
}
/* mode = 0: interpolate normals,
@@ -619,7 +642,7 @@ static void *init_heights_data(MultiresBakeRender *bkr, Image *ima)
height_data->ssdm= subsurf_make_derived_from_derived(bkr->lores_dm, &smd, 0, NULL, 0, 0, 0);
}
- height_data->origindex= lodm->getFaceDataArray(lodm, CD_ORIGINDEX);
+ height_data->origindex= lodm->getTessFaceDataArray(lodm, CD_ORIGINDEX);
return (void*)height_data;
}
@@ -631,7 +654,7 @@ static void *init_normal_data(MultiresBakeRender *bkr, Image *UNUSED(ima))
normal_data= MEM_callocN(sizeof(MNormalBakeData), "MultiresBake normalData");
- normal_data->origindex= lodm->getFaceDataArray(lodm, CD_ORIGINDEX);
+ normal_data->origindex= lodm->getTessFaceDataArray(lodm, CD_ORIGINDEX);
return (void*)normal_data;
}
@@ -693,6 +716,16 @@ static void apply_heights_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm,
const int face_index, const int lvl, const float st[2],
float UNUSED(tangmat[3][3]), const int x, const int y)
{
+#if 1 // BMESH_TODO
+ (void)lores_dm;
+ (void)hires_dm;
+ (void)bake_data;
+ (void)face_index;
+ (void)lvl;
+ (void)st;
+ (void)x;
+ (void)y;
+#else
MTFace *mtface= CustomData_get_layer(&lores_dm->faceData, CD_MTFACE);
MFace mface;
Image *ima= mtface[face_index].tpage;
@@ -749,6 +782,7 @@ static void apply_heights_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm,
char *rrgb= (char*)ibuf->rect + pixel*4;
rrgb[3]= 255;
}
+#endif // BMESH_TODO
}
/* MultiresBake callback for normals' baking
@@ -760,6 +794,17 @@ static void apply_tangmat_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm,
const int face_index, const int lvl, const float st[2],
float tangmat[3][3], const int x, const int y)
{
+#if 1 // BMESH_TODO
+ (void)lores_dm;
+ (void)hires_dm;
+ (void)bake_data;
+ (void)face_index;
+ (void)lvl;
+ (void)st;
+ (void)tangmat;
+ (void)y;
+ (void)x;
+#else
MTFace *mtface= CustomData_get_layer(&lores_dm->faceData, CD_MTFACE);
MFace mface;
Image *ima= mtface[face_index].tpage;
@@ -806,6 +851,7 @@ static void apply_tangmat_callback(DerivedMesh *lores_dm, DerivedMesh *hires_dm,
rrgb[2]= FTOCHAR(vec[2]);
rrgb[3]= 255;
}
+#endif
}
static void count_images(MultiresBakeRender *bkr)
@@ -992,7 +1038,7 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
if(*lvl==0) {
DerivedMesh *tmp_dm= CDDM_from_mesh(me, ob);
- dm= CDDM_copy(tmp_dm);
+ dm= CDDM_copy(tmp_dm, 0);
tmp_dm->release(tmp_dm);
} else {
MultiresModifierData tmp_mmd= *mmd;