Use use_render argument rather than G.is_rendering to detect
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 17 Jun 2013 13:34:17 +0000 (13:34 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 17 Jun 2013 13:34:17 +0000 (13:34 +0000)
whether preview or render settings need to be used in curves
and mballs tessellation.

This is not noticeable for artists yet, but this is silly
to use G.is_rendering anyway and using argument will help
making rendering and viewport working simultaneously in
the future.

source/blender/blenkernel/BKE_curve.h
source/blender/blenkernel/BKE_mball.h
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/displist.c
source/blender/blenkernel/intern/mball.c

index 3be77086336b44c34a97a315229763076f4e3373..6c5bbbd487ea67557d412b68cb73962059e10ab2 100644 (file)
@@ -86,7 +86,7 @@ struct ListBase *BKE_curve_editNurbs_get(struct Curve *cu);
 float *BKE_curve_make_orco(struct Scene *scene, struct Object *ob, int *r_numVerts);
 float *BKE_curve_surf_make_orco(struct Object *ob);
 
-void BKE_curve_bevelList_make(struct Object *ob);
+void BKE_curve_bevelList_make(struct Object *ob, bool for_render);
 void BKE_curve_bevel_make(struct Scene *scene, struct Object *ob,  struct ListBase *disp, int forRender, int renderResolution);
 
 void BKE_curve_forward_diff_bezier(float q0, float q1, float q2, float q3, float *p, int it, int stride);
index 9bbff51598368566d0123b6d77859059fb43db78..9a9b8a4da4db523ad6c42a190fda51eb32bad107 100644 (file)
@@ -47,7 +47,7 @@ void BKE_mball_make_local(struct MetaBall *mb);
 
 void BKE_mball_cubeTable_free(void);
 
-void BKE_mball_polygonize(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
+void BKE_mball_polygonize(struct Scene *scene, struct Object *ob, struct ListBase *dispbase, bool for_render);
 bool BKE_mball_is_basis_for(struct Object *ob1, struct Object *ob2);
 bool BKE_mball_is_basis(struct Object *ob);
 struct Object *BKE_mball_basis_find(struct Scene *scene, struct Object *ob);
index 3b9fbbb1c4d98948dfbb57ee9ff707250fbc7089..3b902a2b6768b6552d6eac77ec21696f60b99123 100644 (file)
@@ -2269,7 +2269,7 @@ static void make_bevel_list_2D(BevList *bl)
        }
 }
 
-void BKE_curve_bevelList_make(Object *ob)
+void BKE_curve_bevelList_make(Object *ob, bool for_render)
 {
        /*
         * - convert all curves to polys, with indication of resol and flags for double-vertices
@@ -2325,7 +2325,7 @@ void BKE_curve_bevelList_make(Object *ob)
                        bl->nr = 0;
                }
                else {
-                       if (G.is_rendering && cu->resolu_ren != 0)
+                       if (for_render && cu->resolu_ren != 0)
                                resolu = cu->resolu_ren;
                        else
                                resolu = nu->resolu;
index 0be40b75d961eead939dd8588047ad5adc5a9ca0..7ae9fa0b0c3da98a1a0bb768bf993fe65d83181d 100644 (file)
@@ -716,7 +716,7 @@ void BKE_displist_make_mball(Scene *scene, Object *ob)
 
        if (ob->type == OB_MBALL) {
                if (ob == BKE_mball_basis_find(scene, ob)) {
-                       BKE_mball_polygonize(scene, ob, &ob->disp);
+                       BKE_mball_polygonize(scene, ob, &ob->disp, false);
                        BKE_mball_texspace_calc(ob);
 
                        object_deform_mball(ob, &ob->disp);
@@ -728,7 +728,7 @@ void BKE_displist_make_mball(Scene *scene, Object *ob)
 
 void BKE_displist_make_mball_forRender(Scene *scene, Object *ob, ListBase *dispbase)
 {
-       BKE_mball_polygonize(scene, ob, dispbase);
+       BKE_mball_polygonize(scene, ob, dispbase, true);
        BKE_mball_texspace_calc(ob);
 
        object_deform_mball(ob, dispbase);
@@ -1390,7 +1390,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba
                if (!forOrco)
                        curve_calc_modifiers_pre(scene, ob, forRender, renderResolution, &originalVerts, &deformedVerts, &numVerts);
 
-               BKE_curve_bevelList_make(ob);
+               BKE_curve_bevelList_make(ob, forRender != FALSE);
 
                /* If curve has no bevel will return nothing */
                BKE_curve_bevel_make(scene, ob, &dlbev, forRender, renderResolution);
index 0546c85db67b4010e7c27be6ef986f502490eeac..19fe79569f5e98aac1b960ded2fddd376bfa255d 100644 (file)
@@ -2269,7 +2269,7 @@ static void mball_count(PROCESS *process, Scene *scene, Object *basis)
        }
 }
 
-void BKE_mball_polygonize(Scene *scene, Object *ob, ListBase *dispbase)
+void BKE_mball_polygonize(Scene *scene, Object *ob, ListBase *dispbase, bool for_render)
 {
        MetaBall *mb;
        DispList *dl;
@@ -2282,7 +2282,7 @@ void BKE_mball_polygonize(Scene *scene, Object *ob, ListBase *dispbase)
        mball_count(&process, scene, ob);
 
        if (process.totelem == 0) return;
-       if ((G.is_rendering == FALSE) && (mb->flag == MB_UPDATE_NEVER)) return;
+       if ((for_render == FALSE) && (mb->flag == MB_UPDATE_NEVER)) return;
        if (G.moving && mb->flag == MB_UPDATE_FAST) return;
 
        process.thresh = mb->thresh;
@@ -2320,7 +2320,7 @@ void BKE_mball_polygonize(Scene *scene, Object *ob, ListBase *dispbase)
        }
 
        /* width is size per polygonize cube */
-       if (G.is_rendering) {
+       if (for_render) {
                width = mb->rendersize;
        }
        else {