diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2007-06-11 03:31:38 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2007-06-11 03:31:38 +0400 |
commit | 065c39389c4521c80c343dc08080cb514ad5f175 (patch) | |
tree | dec005fd830e548ad68cf0f54788e64fc0f754cd /source/blender | |
parent | 52d6635528a703235f61dd66689c83533b8ece52 (diff) |
== 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.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/src/multires.c | 8 |
1 files changed, 2 insertions, 6 deletions
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; |