diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-11-14 21:32:13 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-11-22 12:13:33 +0300 |
commit | f15c63b0c2216fdebe559a0ed0f93765e6e763dc (patch) | |
tree | 60426da70bb7973c90e1733683ea0c6f4c7cd9cc /source | |
parent | 9ce2370ce4f1e1e9bf14feaf56eee82bec9474ff (diff) |
SceneRenderLayer > SceneLayer: Remove light_override
Diffstat (limited to 'source')
19 files changed, 4 insertions, 56 deletions
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index 3b870fbc234..b00dc54d08a 100644 --- a/source/blender/blenkernel/intern/library_query.c +++ b/source/blender/blenkernel/intern/library_query.c @@ -428,9 +428,6 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call if (srl->mat_override) { CALLBACK_INVOKE(srl->mat_override, IDWALK_CB_USER); } - if (srl->light_override) { - CALLBACK_INVOKE(srl->light_override, IDWALK_CB_USER); - } for (fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) { if (fmc->script) { CALLBACK_INVOKE(fmc->script, IDWALK_CB_NOP); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 7c08b909920..4dbc93bc20b 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5916,7 +5916,6 @@ static void lib_link_scene(FileData *fd, Main *main) for (SceneRenderLayer *srl = sce->r.layers.first; srl; srl = srl->next) { srl->mat_override = newlibadr_us(fd, sce->id.lib, srl->mat_override); - srl->light_override = newlibadr_us(fd, sce->id.lib, srl->light_override); for (FreestyleModuleConfig *fmc = srl->freestyleConfig.modules.first; fmc; fmc = fmc->next) { fmc->script = newlibadr(fd, sce->id.lib, fmc->script); } @@ -9801,7 +9800,6 @@ static void expand_scene(FileData *fd, Main *mainvar, Scene *sce) for (srl = sce->r.layers.first; srl; srl = srl->next) { expand_doit(fd, mainvar, srl->mat_override); - expand_doit(fd, mainvar, srl->light_override); for (module = srl->freestyleConfig.modules.first; module; module = module->next) { if (module->script) expand_doit(fd, mainvar, module->script); diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 31b90254916..9b06a79f651 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -310,11 +310,6 @@ void do_versions_after_linking_280(Main *main) BKE_collection_override_datablock_add((LayerCollection *)scene_layer->layer_collections.first, "material", (ID *)srl->mat_override); } - if (srl->light_override && BKE_scene_uses_blender_internal(scene)) { - /* not sure how we handle this, pending until we design the override system */ - TODO_LAYER_OVERRIDE; - } - if (srl->lay != scene->lay) { /* unlink master collection */ BKE_collection_unlink(scene_layer, scene_layer->layer_collections.first); diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c index f843c474f98..6cd6a26884b 100644 --- a/source/blender/editors/space_outliner/outliner_tree.c +++ b/source/blender/editors/space_outliner/outliner_tree.c @@ -369,8 +369,6 @@ static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *s tenlay->name = srl->name; tenlay->directdata = &srl->layflag; - if (srl->light_override) - outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0); if (srl->mat_override) outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0); diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c b/source/blender/editors/space_view3d/view3d_draw_legacy.c index 90032a2aec9..5695508a9f5 100644 --- a/source/blender/editors/space_view3d/view3d_draw_legacy.c +++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c @@ -1355,7 +1355,7 @@ static void gpu_render_lamp_update(Scene *scene, View3D *v3d, if (layers && GPU_lamp_has_shadow_buffer(lamp) && /* keep last, may do string lookup */ - GPU_lamp_visible(lamp, srl, NULL)) + GPU_lamp_visible(lamp, NULL)) { View3DShadow *shadow = MEM_callocN(sizeof(View3DShadow), "View3DShadow"); shadow->lamp = lamp; diff --git a/source/blender/gpu/GPU_lamp.h b/source/blender/gpu/GPU_lamp.h index f6fd817cc3f..87350f1ceb4 100644 --- a/source/blender/gpu/GPU_lamp.h +++ b/source/blender/gpu/GPU_lamp.h @@ -54,7 +54,7 @@ GPULamp *GPU_lamp_from_blender(struct Scene *scene, struct Object *ob, struct Ob void GPU_lamp_free(struct Object *ob); void GPU_lamp_engine_data_free(LampEngineData *led); -bool GPU_lamp_visible(GPULamp *lamp, struct SceneRenderLayer *srl, struct Material *ma); +bool GPU_lamp_visible(GPULamp *lamp, struct Material *ma); bool GPU_lamp_has_shadow_buffer(GPULamp *lamp); void GPU_lamp_update_buffer_mats(GPULamp *lamp); void GPU_lamp_shadow_buffer_bind(GPULamp *lamp, float viewmat[4][4], int *winsize, float winmat[4][4]); diff --git a/source/blender/gpu/intern/gpu_lamp.c b/source/blender/gpu/intern/gpu_lamp.c index fbc1ace1292..3c49c057b49 100644 --- a/source/blender/gpu/intern/gpu_lamp.c +++ b/source/blender/gpu/intern/gpu_lamp.c @@ -52,12 +52,10 @@ #include "gpu_lamp_private.h" -bool GPU_lamp_visible(GPULamp *lamp, SceneRenderLayer *srl, Material *ma) +bool GPU_lamp_visible(GPULamp *lamp, Material *ma) { if (lamp->hide) return false; - else if (srl && srl->light_override) - return BKE_group_object_exists(srl->light_override, lamp->ob); else if (ma && ma->group) return BKE_group_object_exists(ma->group, lamp->ob); else diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index c30a28616e0..4668ea2998d 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -310,7 +310,7 @@ void GPU_material_bind( GPULamp *lamp = nlink->data; if ((lamp->lay & viewlay) && (!(lamp->mode & LA_LAYER) || (lamp->lay & oblay)) && - GPU_lamp_visible(lamp, srl, material->ma)) + GPU_lamp_visible(lamp, material->ma)) { lamp->dynenergy = lamp->energy; copy_v3_v3(lamp->dyncol, lamp->col); diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 25d67a9e073..766ef1e8f34 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -175,7 +175,6 @@ typedef struct SceneRenderLayer { char name[64]; /* MAX_NAME */ struct Material *mat_override; - struct Group *light_override; unsigned int lay; /* scene->lay itself has priority over this */ unsigned int lay_zmask; /* has to be after lay, this is for Z-masking */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 840271ccaad..8b244fdf91f 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -3290,14 +3290,6 @@ void rna_def_render_layer_common(StructRNA *srna, int scene) if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - prop = RNA_def_property(srna, "light_override", PROP_POINTER, PROP_NONE); - RNA_def_property_pointer_sdna(prop, NULL, "light_override"); - RNA_def_property_struct_type(prop, "Group"); - RNA_def_property_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Light Override", "Group to override all other lights in this render layer"); - if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update"); - else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - /* layers */ prop = RNA_def_property(srna, "layers", PROP_BOOLEAN, PROP_LAYER_MEMBER); RNA_def_property_boolean_sdna(prop, NULL, "lay", 1); diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index f7d05b79a6c..89136da9749 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -112,7 +112,6 @@ typedef struct RenderLayer { int layflag, passflag, pass_xor; struct Material *mat_override; - struct Group *light_override; /* MULTIVIEW_TODO: acolrect and scolrect are not supported by multiview at the moment. * If they are really required they should be in RenderView instead */ diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index b64c0c8fc52..870e80257ea 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -179,7 +179,6 @@ typedef struct ShadeInput { unsigned int lay; int layflag, passflag, combinedflag; short object_pass_index; - struct Group *light_override; struct Material *mat_override; #ifdef RE_RAYCOUNTER diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 608c182bd7b..6e0251c60cb 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -4030,16 +4030,6 @@ static void set_material_lightgroups(Render *re) } } -static void set_renderlayer_lightgroups(Render *re, Scene *sce) -{ - SceneRenderLayer *srl; - - for (srl= sce->r.layers.first; srl; srl= srl->next) { - if (srl->light_override) - add_lightgroup(re, srl->light_override, 0); - } -} - /* ------------------------------------------------------------------------- */ /* World */ /* ------------------------------------------------------------------------- */ @@ -5184,7 +5174,6 @@ static void database_init_objects(Render *re, unsigned int UNUSED(renderlay), in /* used to be 'rotate scene' */ void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int lay, int use_camera_view) { - Scene *sce; Object *camera; float mat[4][4]; float amb[3]; @@ -5261,8 +5250,6 @@ void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int l if (!re->test_break(re->tbh)) { set_material_lightgroups(re); - for (sce= re->scene; sce; sce= sce->set) - set_renderlayer_lightgroups(re, sce); /* for now some clumsy copying still */ re->i.totvert= re->totvert; diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index 2eb2e95308a..8b268f7d844 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -742,7 +742,6 @@ static void traceray(ShadeInput *origshi, ShadeResult *origshr, short depth, con shi.passflag= SCE_PASS_COMBINED; /* result of tracing needs no pass info */ shi.combinedflag= 0xFFFFFF; /* ray trace does all options */ //shi.do_preview = false; // memset above, so don't need this - shi.light_override= origshi->light_override; shi.mat_override= origshi->mat_override; shade_ray(&isec, &shi, &shr); diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index 5a14c4126bf..bc9bd60315e 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -318,7 +318,6 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf rl->layflag = srl->layflag; rl->passflag = srl->passflag; /* for debugging: srl->passflag | SCE_PASS_RAYHITS; */ rl->pass_xor = srl->pass_xor; - rl->light_override = srl->light_override; rl->mat_override = srl->mat_override; rl->rectx = rectx; rl->recty = recty; diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c index 77f399d08d1..fa6d6d42c6b 100644 --- a/source/blender/render/intern/source/rendercore.c +++ b/source/blender/render/intern/source/rendercore.c @@ -1661,7 +1661,6 @@ void zbufshade_sss_tile(RenderPart *pa) ssamp.shi[0].passflag |= SCE_PASS_RGBA|SCE_PASS_COMBINED; ssamp.shi[0].combinedflag &= ~(SCE_PASS_SPEC); ssamp.shi[0].mat_override= NULL; - ssamp.shi[0].light_override= NULL; lay= ssamp.shi[0].lay; /* create the pixelstrs to be used later */ diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c index 660b82b884d..0e97a334420 100644 --- a/source/blender/render/intern/source/shadeinput.c +++ b/source/blender/render/intern/source/shadeinput.c @@ -1305,7 +1305,6 @@ void shade_input_initialize(ShadeInput *shi, RenderPart *pa, RenderLayer *rl, in shi->passflag = rl->passflag; shi->combinedflag = ~rl->pass_xor; shi->mat_override = rl->mat_override; - shi->light_override = rl->light_override; // shi->rl= rl; /* note shi.depth==0 means first hit, not raytracing */ diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c index c5a666d52c9..9279899ef66 100644 --- a/source/blender/render/intern/source/shadeoutput.c +++ b/source/blender/render/intern/source/shadeoutput.c @@ -73,8 +73,6 @@ ListBase *get_lights(ShadeInput *shi) if (R.r.scemode & R_BUTS_PREVIEW) return &R.lights; - if (shi->light_override) - return &shi->light_override->gobject; if (shi->mat && shi->mat->group) return &shi->mat->group->gobject; @@ -2090,13 +2088,6 @@ float RE_lamp_get_data(ShadeInput *shi, Object *lamp_obj, float col[4], float lv return 0.0f; } - if (shi->light_override) { - for (go = shi->light_override->gobject.first; go; go = go->next) { - if (go->ob == lamp_obj) - return lamp_get_data_internal(shi, go, col, lv, dist, shadow); - } - } - if (shi->mat && shi->mat->group) { for (go = shi->mat->group->gobject.first; go; go = go->next) { if (go->ob == lamp_obj) diff --git a/source/blender/render/intern/source/volumetric.c b/source/blender/render/intern/source/volumetric.c index 7fe52328781..16fba22404a 100644 --- a/source/blender/render/intern/source/volumetric.c +++ b/source/blender/render/intern/source/volumetric.c @@ -172,7 +172,6 @@ static void shade_intersection(ShadeInput *shi, float col_r[4], Isect *is) shi_new.lay = shi->lay; shi_new.passflag = SCE_PASS_COMBINED; /* result of tracing needs no pass info */ shi_new.combinedflag = 0xFFFFFF; /* ray trace does all options */ - shi_new.light_override = shi->light_override; shi_new.mat_override = shi->mat_override; copy_v3_v3(shi_new.camera_co, is->start); |