Bring rendering back (update all references to SETLOPPER)
authorDalai Felinto <dfelinto@gmail.com>
Wed, 15 Feb 2017 13:40:41 +0000 (14:40 +0100)
committerDalai Felinto <dfelinto@gmail.com>
Wed, 15 Feb 2017 13:40:56 +0000 (14:40 +0100)
source/blender/blenkernel/intern/collision.c
source/blender/blenkernel/intern/pointcache.c
source/blender/blenkernel/intern/sound.c
source/blender/editors/render/render_internal.c
source/blender/editors/space_view3d/view3d_draw_legacy.c
source/blender/gpu/intern/gpu_material.c
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pipeline.c
source/gameengine/Converter/BL_BlenderDataConversion.cpp

index b5f76240c0b672b9450e095e30c0b8da16de4f85..23cfee721ae6a0f765ee089a8b765f1759ede552 100644 (file)
@@ -512,9 +512,9 @@ static void add_collision_object(Object ***objs, unsigned int *numobj, unsigned
 
 // return all collision objects in scene
 // collision object will exclude self 
-Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int layer, unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
+Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int UNUSED(layer), unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
 {
-       BaseLegacy *base;
+       Base *base;
        Object **objs;
        GroupObject *go;
        unsigned int numobj= 0, maxobj= 100;
@@ -532,9 +532,9 @@ Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int
                Scene *sce_iter;
                /* add objects in same layer in scene */
                for (SETLOOPER(scene, sce_iter, base)) {
-                       if ( base->lay & layer )
+                       if ((base->flag & BASE_VISIBLED) != 0) {
                                add_collision_object(&objs, &numobj, &maxobj, base->object, self, level, modifier_type);
-
+                       }
                }
        }
 
@@ -596,11 +596,11 @@ ListBase *get_collider_cache(Scene *scene, Object *self, Group *group)
        }
        else {
                Scene *sce_iter;
-               BaseLegacy *base;
+               Base *base;
 
                /* add objects in same layer in scene */
                for (SETLOOPER(scene, sce_iter, base)) {
-                       if (!self || (base->lay & self->lay))
+                       if (!self || ((base->flag & BASE_VISIBLED) != 0))
                                add_collider_cache_object(&objs, base->object, self, 0);
 
                }
index c3f2107c5afb4e47731477c8af8a9096bfb88869..30eb8dcb287b6c963bee61471b58d3166e8d7fa8 100644 (file)
@@ -3541,7 +3541,7 @@ void BKE_ptcache_bake(PTCacheBaker *baker)
        Main *bmain = baker->main;
        Scene *scene = baker->scene;
        Scene *sce_iter; /* SETLOOPER macro only */
-       BaseLegacy *base;
+       Base *base;
        ListBase pidlist;
        PTCacheID *pid = &baker->pid;
        PointCache *cache = NULL;
index fe4bcc738c691e4c81234faf1da6ca1bfe636609..8469351c54aa8ed886b034a23bae6b9ee6af6455 100644 (file)
@@ -782,7 +782,7 @@ void BKE_sound_read_waveform(bSound *sound, short *stop)
 void BKE_sound_update_scene(Main *bmain, struct Scene *scene)
 {
        Object *ob;
-       BaseLegacy *base;
+       Base *base;
        NlaTrack *track;
        NlaStrip *strip;
        Speaker *speaker;
index 07f4679a32ac1137441170c382672a0c778ea321..950214b895aff5b42164612d7ba9d391758c54f1 100644 (file)
@@ -780,18 +780,18 @@ static void screen_render_cancel(bContext *C, wmOperator *op)
        WM_jobs_kill_type(wm, scene, WM_JOB_TYPE_RENDER);
 }
 
-static void clean_viewport_memory(Main *bmain, Scene *scene, int renderlay)
+static void clean_viewport_memory(Main *bmain, Scene *scene)
 {
        Object *object;
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
 
        for (object = bmain->object.first; object; object = object->id.next) {
                object->id.tag |= LIB_TAG_DOIT;
        }
 
        for (SETLOOPER(scene, sce_iter, base)) {
-               if ((base->lay & renderlay) == 0) {
+               if ((base->flag & BASE_VISIBLED) == 0) {
                        continue;
                }
                if (RE_allow_render_generic_object(base->object)) {
@@ -927,8 +927,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
 
        /* Lock the user interface depending on render settings. */
        if (scene->r.use_lock_interface) {
-               int renderlay = rj->lay_override ? rj->lay_override : scene->lay;
-
                WM_set_locked_interface(CTX_wm_manager(C), true);
 
                /* Set flag interface need to be unlocked.
@@ -942,7 +940,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
                rj->interface_locked = true;
 
                /* Clean memory used by viewport? */
-               clean_viewport_memory(rj->main, scene, renderlay);
+               clean_viewport_memory(rj->main, scene);
        }
 
        /* setup job */
index 933dc7155cb0c6bd13c299a0b7b5095dcde33e5f..d23b2ac23c15303d46e62c0fc7abcf7d214795db 100644 (file)
@@ -1293,7 +1293,7 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
        if (scene->set) {
                Scene *sce_iter;
                for (SETLOOPER(scene->set, sce_iter, base)) {
-                       if (v3d->lay & base->lay) {
+                       if ((base->flag & BASE_VISIBLED) != 0) {
                                draw_object(scene, sl, ar, v3d, base, 0);
                                if (base->object->transflag & OB_DUPLI) {
                                        draw_dupli_objects_color(scene, sl, ar, v3d, base, dflag_depth, TH_UNDEFINED);
@@ -1414,7 +1414,7 @@ static void gpu_update_lamps_shadows_world(Scene *scene, View3D *v3d)
 {
        ListBase shadows;
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
        World *world = scene->world;
        SceneRenderLayer *srl = v3d->scenelock ? BLI_findlink(&scene->r.layers, scene->r.actlay) : NULL;
        
@@ -1550,7 +1550,7 @@ static void view3d_draw_objects(
 {
        SceneLayer *sl = C ? CTX_data_scene_layer(C) : BKE_scene_layer_active(scene);
        RegionView3D *rv3d = ar->regiondata;
-       BaseLegacy *base;
+       Base *base;
        const bool do_camera_frame = !draw_offscreen;
        const bool draw_grids = !draw_offscreen && (v3d->flag2 & V3D_RENDER_OVERRIDE) == 0;
        const bool draw_floor = (rv3d->view == RV3D_VIEW_USER) || (rv3d->persp != RV3D_ORTHO);
@@ -1608,7 +1608,7 @@ static void view3d_draw_objects(
                const short dflag = DRAW_CONSTCOLOR | DRAW_SCENESET;
                Scene *sce_iter;
                for (SETLOOPER(scene->set, sce_iter, base)) {
-                       if (v3d->lay & base->lay) {
+                       if ((base->flag & BASE_VISIBLED) != 0) {
                                UI_ThemeColorBlend(TH_WIRE, TH_BACK, 0.6f);
                                draw_object(scene, sl, ar, v3d, base, dflag);
 
@@ -2351,7 +2351,7 @@ static void view3d_stereo3d_setup_offscreen(Scene *scene, View3D *v3d, ARegion *
 static void update_lods(Scene *scene, float camera_pos[3])
 {
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
 
        for (SETLOOPER(scene, sce_iter, base)) {
                Object *ob = base->object;
index 9e08f629bcb5cd7f28c524f7dbffd099cc2ef8ae..28cf7bd1c76e970ee29e31dacb3cd5503251055d 100644 (file)
@@ -1016,7 +1016,7 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la
 
 static void material_lights(GPUShadeInput *shi, GPUShadeResult *shr)
 {
-       BaseLegacy *base;
+       Base *base;
        Scene *sce_iter;
        
        for (SETLOOPER(shi->gpumat->scene, sce_iter, base)) {
index 094e62e6cebc4a2aa19738f4094dd51abd078301..1ea99f406badbc91b958362c8169de604e467b04 100644 (file)
@@ -4975,14 +4975,13 @@ static void add_group_render_dupli_obs(Render *re, Group *group, int nolamps, in
        }
 }
 
-static void database_init_objects(Render *re, unsigned int renderlay, int nolamps, int onlyselected, Object *actob, int timeoffset)
+static void database_init_objects(Render *re, unsigned int UNUSED(renderlay), int nolamps, int onlyselected, Object *actob, int timeoffset)
 {
-       BaseLegacy *base;
+       Base *base;
        Object *ob;
        Group *group;
        ObjectInstanceRen *obi;
        Scene *sce_iter;
-       int lay, vectorlay;
 
        /* for duplis we need the Object texture mapping to work as if
         * untransformed, set_dupli_tex_mat sets the matrix to allow that
@@ -5010,14 +5009,18 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
        for (SETLOOPER(re->scene, sce_iter, base)) {
                ob= base->object;
 
+#if 0
+               TODO_LAYER; /* investigate if this is an issue*/
                /* in the prev/next pass for making speed vectors, avoid creating
                 * objects that are not on a renderlayer with a vector pass, can
                 * save a lot of time in complex scenes */
                vectorlay= get_vector_renderlayers(re->scene);
-               lay= (timeoffset)? renderlay & vectorlay: renderlay;
+#endif
 
-               /* if the object has been restricted from rendering in the outliner, ignore it */
-               if (is_object_restricted(re, ob)) continue;
+               /* if the object is not visible, ignore it */
+               if ((base->flag & BASE_VISIBLED) == 0) {
+                       continue;
+               }
 
                /* OB_DONE means the object itself got duplicated, so was already converted */
                if (ob->flag & OB_DONE) {
@@ -5030,7 +5033,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
                                }
                        }
                }
-               else if ((base->lay & lay) || (ob->type==OB_LAMP && (base->lay & re->lay)) ) {
+               else if (((base->flag & BASE_VISIBLED) != 0) || (ob->type==OB_LAMP)) {
                        if ((ob->transflag & OB_DUPLI) && (ob->type!=OB_MBALL)) {
                                DupliObject *dob;
                                ListBase *duplilist;
index 34966e1b1110f3dd28a30f1504117d988ff69f7f..7598cb3ff6bb3f1281048ce7b0348e0597df53d2 100644 (file)
@@ -2012,14 +2012,14 @@ bool RE_allow_render_generic_object(Object *ob)
 #define DEPSGRAPH_WORKAROUND_HACK
 
 #ifdef DEPSGRAPH_WORKAROUND_HACK
-static void tag_dependend_objects_for_render(Scene *scene, int renderlay)
+static void tag_dependend_objects_for_render(Scene *scene, int UNUSED(renderlay))
 {
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
        for (SETLOOPER(scene, sce_iter, base)) {
                Object *object = base->object;
 
-               if ((base->lay & renderlay) == 0) {
+               if ((base->flag & BASE_VISIBLED) == 0) {
                        continue;
                }
 
index 2aa0145d1f339d9e81f6691d8d6b2f87304094b6..6add30f11310b113259b044248e61d326dfc91bf 100644 (file)
@@ -394,7 +394,7 @@ static void SetDefaultLightMode(Scene* scene)
 {
        default_light_mode = false;
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
 
        for (SETLOOPER(scene, sce_iter, base))
        {
@@ -1736,7 +1736,7 @@ static void UNUSED_FUNCTION(print_active_constraints2)(Object *ob) //not used, u
 static void blenderSceneSetBackground(Scene *blenderscene)
 {
        Scene *it;
-       BaseLegacy *base;
+       Base *base;
 
        for (SETLOOPER(blenderscene, it, base)) {
                base->object->lay = base->lay;
@@ -1911,7 +1911,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
        Scene *blenderscene = kxscene->GetBlenderScene();
        // for SETLOOPER
        Scene *sce_iter;
-       BaseLegacy *base;
+       Base *base;
 
        // Get the frame settings of the canvas.
        // Get the aspect ratio of the canvas as designed by the user.