From 3a95bdfc65d883e7db006fdaadb8ed2cd6553239 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Thu, 16 Nov 2017 13:39:25 -0200 Subject: SceneRenderLayer Removal/Refactor This patch moves all the functionality previously in SceneRenderLayer to SceneLayer. If we want to rename some of these structs now would be a good time to do it, before they are in SceneLayer. Everything should be working, though I will test things further tomorrow. Once this is committed depsgraph can get rid of the workaround added in rna_Main_meshes_new_from_object and finish whatever this patch was preventing from being finished. This patch also adds a few placeholders for the overrides (samples, ...). These are obviously not working, so some unittests that rely on 'lay', and 'zmask' will fail. This patch does not addressed the change of moving samples to ViewRender (I have this as a separate patch and needs some separate discussion). Following next is the individual note of the individual parts that were committed. Note 1: It is up to Cycles to still get rid of exclude_layer internally. Note 2: Cycles still need to handle its own doversion for the use_layer_samples cases and (1) Remove the override as it is (2) Add a new override (scene.cycles.samples) if scene.cycles.use_layer_samples != IGNORE Respecting the expected behaviour when scene.cycles.use_layer_samples == BOUNDED. Note 3: Cycles still need to implement the per-object holdout (similar to how we do shadow catcher). Note 4: There are parts of the old (Blender Internal) rendering pipeline that is still using lay, e.g., in shi->lay. Honestly it will be easier to purge the entire Blender Internal code away instead of taking things from it bit by bit. Reviewers: sergey, campbellbarton, brecht Differential Revision: https://developer.blender.org/D2919 --- release/scripts/addons | 2 +- release/scripts/addons_contrib | 2 +- .../scripts/freestyle/modules/parameter_editor.py | 2 +- release/scripts/startup/bl_operators/clip.py | 14 +++++++------- release/scripts/startup/bl_operators/freestyle.py | 6 +++--- .../scripts/startup/bl_ui/properties_freestyle.py | 20 ++++++++++---------- release/scripts/startup/bl_ui/space_node.py | 2 +- 7 files changed, 24 insertions(+), 24 deletions(-) (limited to 'release/scripts') diff --git a/release/scripts/addons b/release/scripts/addons index 5b02e6e1acc..371960484a3 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit 5b02e6e1acc4c3cf4822607ab33f48d7cffecbd3 +Subproject commit 371960484a38fc64e0a2635170a41a0d8ab2f6bd diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index c3991195ad6..a8515cfdfe9 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit c3991195ad6eac741db27dc9e8905efb224f219d +Subproject commit a8515cfdfe9a98127b592f36fcbe51b7e23b969a diff --git a/release/scripts/freestyle/modules/parameter_editor.py b/release/scripts/freestyle/modules/parameter_editor.py index 7e8d87bb465..e5fc83b07ed 100644 --- a/release/scripts/freestyle/modules/parameter_editor.py +++ b/release/scripts/freestyle/modules/parameter_editor.py @@ -1206,7 +1206,7 @@ integration_types = { # main function for parameter processing def process(layer_name, lineset_name): scene = getCurrentScene() - layer = scene.render.layers[layer_name] + layer = scene.render_layers[layer_name] lineset = layer.freestyle_settings.linesets[lineset_name] linestyle = lineset.linestyle diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py index d648ec83b7c..f39dc1a8b08 100644 --- a/release/scripts/startup/bl_operators/clip.py +++ b/release/scripts/startup/bl_operators/clip.py @@ -613,22 +613,22 @@ class CLIP_OT_setup_tracking_scene(Operator): @staticmethod def _setupRenderLayers(context): scene = context.scene - rlayers = scene.render.layers + rlayers = scene.render_layers - if not scene.render.layers.get("Foreground"): + if not scene.render_layers.get("Foreground"): if len(rlayers) == 1: fg = rlayers[0] fg.name = 'Foreground' else: - fg = scene.render.layers.new("Foreground") + fg = scene.render_layers.new("Foreground") fg.use_sky = True fg.layers = [True] + [False] * 19 fg.layers_zmask = [False] * 10 + [True] + [False] * 9 fg.use_pass_vector = True - if not scene.render.layers.get("Background"): - bg = scene.render.layers.new("Background") + if not scene.render_layers.get("Background"): + bg = scene.render_layers.new("Background") bg.use_pass_shadow = True bg.use_pass_ambient_occlusion = True bg.layers = [False] * 10 + [True] + [False] * 9 @@ -940,8 +940,8 @@ class CLIP_OT_setup_tracking_scene(Operator): def _setupObjects(self, context): scene = context.scene - fg = scene.render.layers.get("Foreground") - bg = scene.render.layers.get("Background") + fg = scene.render_layers.get("Foreground") + bg = scene.render_layers.get("Background") all_layers = self._mergeLayers(fg.layers, bg.layers) diff --git a/release/scripts/startup/bl_operators/freestyle.py b/release/scripts/startup/bl_operators/freestyle.py index 4cee1abf15f..d13b427e28d 100644 --- a/release/scripts/startup/bl_operators/freestyle.py +++ b/release/scripts/startup/bl_operators/freestyle.py @@ -47,14 +47,14 @@ class SCENE_OT_freestyle_fill_range_by_selection(bpy.types.Operator): @classmethod def poll(cls, context): - rl = context.scene.render.layers.active + rl = context.scene.render_layers.active return rl and rl.freestyle_settings.linesets.active def execute(self, context): import sys scene = context.scene - rl = scene.render.layers.active + rl = scene.render_layers.active lineset = rl.freestyle_settings.linesets.active linestyle = lineset.linestyle # Find the modifier to work on @@ -207,7 +207,7 @@ class SCENE_OT_freestyle_module_open(bpy.types.Operator): @classmethod def poll(cls, context): - rl = context.scene.render.layers.active + rl = context.scene.render_layers.active return rl and rl.freestyle_settings.mode == 'SCRIPT' def invoke(self, context, event): diff --git a/release/scripts/startup/bl_ui/properties_freestyle.py b/release/scripts/startup/bl_ui/properties_freestyle.py index ddc5c1643d0..5d1d6d3dbac 100644 --- a/release/scripts/startup/bl_ui/properties_freestyle.py +++ b/release/scripts/startup/bl_ui/properties_freestyle.py @@ -75,7 +75,7 @@ class RenderLayerFreestyleButtonsPanel: with_freestyle = bpy.app.build_options.freestyle return (scene and with_freestyle and rd.use_freestyle and - rd.layers.active and(scene.view_render.engine in cls.COMPAT_ENGINES)) + scene.render_layers.active and(scene.view_render.engine in cls.COMPAT_ENGINES)) class RenderLayerFreestyleEditorButtonsPanel(RenderLayerFreestyleButtonsPanel): @@ -85,7 +85,7 @@ class RenderLayerFreestyleEditorButtonsPanel(RenderLayerFreestyleButtonsPanel): def poll(cls, context): if not super().poll(context): return False - rl = context.scene.render.layers.active + rl = context.scene.render_layers.active return rl and rl.freestyle_settings.mode == 'EDITOR' @@ -116,8 +116,8 @@ class RENDERLAYER_PT_freestyle(RenderLayerFreestyleButtonsPanel, Panel): def draw(self, context): layout = self.layout - rd = context.scene.render - rl = rd.layers.active + scene = context.scene + rl = scene.render_layers.active freestyle = rl.freestyle_settings layout.active = rl.use_freestyle @@ -187,7 +187,7 @@ class RENDERLAYER_PT_freestyle_lineset(RenderLayerFreestyleEditorButtonsPanel, P rd = scene.render view_render = scene.view_render - rl = rd.layers.active + rl = scene.render_layers.active freestyle = rl.freestyle_settings lineset = freestyle.linesets.active @@ -379,7 +379,7 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, row = box.row(align=True) row.prop(modifier, "curvature_min") row.prop(modifier, "curvature_max") - freestyle = context.scene.render.layers.active.freestyle_settings + freestyle = context.scene.render_layers.active.freestyle_settings if not freestyle.use_smoothness: message = "Enable Face Smoothness to use this modifier" self.draw_modifier_box_error(col.box(), modifier, message) @@ -434,7 +434,7 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, row = box.row(align=True) row.prop(modifier, "curvature_min") row.prop(modifier, "curvature_max") - freestyle = context.scene.render.layers.active.freestyle_settings + freestyle = context.scene.render_layers.active.freestyle_settings if not freestyle.use_smoothness: message = "Enable Face Smoothness to use this modifier" self.draw_modifier_box_error(col.box(), modifier, message) @@ -506,7 +506,7 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, row = box.row(align=True) row.prop(modifier, "curvature_min") row.prop(modifier, "curvature_max") - freestyle = context.scene.render.layers.active.freestyle_settings + freestyle = context.scene.render_layers.active.freestyle_settings if not freestyle.use_smoothness: message = "Enable Face Smoothness to use this modifier" self.draw_modifier_box_error(col.box(), modifier, message) @@ -614,8 +614,8 @@ class RENDERLAYER_PT_freestyle_linestyle(RenderLayerFreestyleEditorButtonsPanel, def draw(self, context): layout = self.layout - rd = context.scene.render - rl = rd.layers.active + scene = context.scene + rl = scene.render_layers.active lineset = rl.freestyle_settings.linesets.active layout.active = rl.use_freestyle diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 200fc415f8a..612ac8e4c40 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -81,7 +81,7 @@ class NODE_HT_header(Header): row.prop(snode_id, "use_nodes") if use_shading_nodes and snode.shader_type == 'LINESTYLE': - rl = context.scene.render.layers.active + rl = context.scene.render_layers.active lineset = rl.freestyle_settings.linesets.active if lineset is not None: row = layout.row() -- cgit v1.2.3