== Multires ==
Fixed bug #5799, Multires mesh modifications get reset by rendering This bug can cause some nasty data loss (was introduces with my commit for using orco with multires.) Fixed by making sure to do multires_update_levels before applying modifiers.
This commit is contained in:
@@ -202,6 +202,7 @@ struct MultiresLevel;
|
||||
struct MultiresLevel *multires_level_n(struct Multires *mr, int n);
|
||||
void multires_free(struct Multires *mr);
|
||||
void multires_set_level(void *ob, void *me_v);
|
||||
void multires_update_levels(struct Mesh *me);
|
||||
void multires_calc_level_maps(struct MultiresLevel *lvl);
|
||||
struct Multires *multires_copy(struct Multires *orig);
|
||||
/* sculptmode.c */
|
||||
|
||||
@@ -295,6 +295,7 @@ void post_server_add(void) {}
|
||||
struct MultiresLevel *multires_level_n(struct Multires *mr, int n) {return NULL;}
|
||||
void multires_free(struct Multires *mr) {}
|
||||
void multires_set_level(void *ob, void *me_v) {}
|
||||
void multires_update_levels(struct Mesh *me) {}
|
||||
void multires_calc_level_maps(struct MultiresLevel *lvl) {}
|
||||
struct Multires *multires_copy(struct Multires *orig) {return NULL;}
|
||||
void sculptmode_init(struct Scene *sce) {}
|
||||
|
||||
@@ -2221,6 +2221,9 @@ float *multires_render_pin(Object *ob, Mesh *me, int *orig_lvl)
|
||||
if(me->mr) {
|
||||
MultiresLevel *lvl= NULL;
|
||||
int i;
|
||||
|
||||
/* Make sure all mesh edits are properly stored in the multires data*/
|
||||
multires_update_levels(me);
|
||||
|
||||
/* Copy the highest level of multires verts */
|
||||
*orig_lvl= me->mr->current;
|
||||
|
||||
Reference in New Issue
Block a user