From 065c39389c4521c80c343dc08080cb514ad5f175 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sun, 10 Jun 2007 23:31:38 +0000 Subject: == Multires == * In add_levels, moved the call to update_levels to the beginning rather than the end. This is slightly faster, as there's one less level to update. Also fixes a bug (introduced in rev. 10836?) that made multires's add_level differ slightly from the subdivide modifier. --- source/blender/src/multires.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'source/blender/src/multires.c') diff --git a/source/blender/src/multires.c b/source/blender/src/multires.c index 78906065178..0b870d0f350 100644 --- a/source/blender/src/multires.c +++ b/source/blender/src/multires.c @@ -834,6 +834,7 @@ void multires_add_level(void *ob, void *me_v) if(me->pv) sculptmode_pmv_off(me); check_colors(me); + multires_update_levels(me, 0); ++me->mr->level_count; BLI_addtail(&me->mr->levels,lvl); @@ -953,6 +954,7 @@ void multires_add_level(void *ob, void *me_v) } } + multires_free_temp_data(lvl->prev); MEM_freeN(oldverts); /* Vertex Colors @@ -983,9 +985,6 @@ void multires_add_level(void *ob, void *me_v) } } - multires_update_levels(me, 0); - multires_free_temp_data(lvl->prev); - me->mr->newlvl= me->mr->level_count; me->mr->current= me->mr->newlvl; /* Unless the render level has been set to something other than the @@ -1549,9 +1548,6 @@ void multires_calc_temp_data(MultiresLevel *lvl) unsigned i, j, emax; MultiresMapNode *indexnode= NULL; - if(lvl->map_mem) - return; - lvl->map_mem= MEM_mallocN(sizeof(MultiresMapNode)*(lvl->totedge*2 + lvl->totface*4), "map_mem"); indexnode= lvl->map_mem; -- cgit v1.2.3