[Bf-blender-cvs] [600ffb71d30] experimental-build: Revert "Squashed D3203: Baking system overhaul: Move baking settings from render settings into BakePasses"

Lukas Stockner noreply at git.blender.org
Sat Feb 23 04:15:13 CET 2019


Commit: 600ffb71d30d0fdc8b20fd8176f3a347d056e547
Author: Lukas Stockner
Date:   Sat Feb 23 04:14:46 2019 +0100
Branches: experimental-build
https://developer.blender.org/rB600ffb71d30d0fdc8b20fd8176f3a347d056e547

Revert "Squashed D3203: Baking system overhaul: Move baking settings from render settings into BakePasses"

This reverts commit d04aa1fd44db55422d84bc23f54cc4753ec2b06b.

===================================================================

M	intern/cycles/blender/addon/__init__.py
M	intern/cycles/blender/addon/engine.py
M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/ui.py
M	intern/cycles/blender/blender_python.cpp
M	intern/cycles/blender/blender_session.cpp
M	intern/cycles/blender/blender_session.h
M	intern/cycles/render/scene.h
M	release/scripts/startup/bl_ui/properties_object.py
M	source/blender/blenkernel/BKE_object.h
M	source/blender/blenkernel/intern/library_query.c
M	source/blender/blenkernel/intern/object.c
M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/versioning_270.c
M	source/blender/blenloader/intern/writefile.c
M	source/blender/editors/object/object_bake_api.c
M	source/blender/editors/render/render_intern.h
M	source/blender/editors/render/render_ops.c
M	source/blender/editors/render/render_shading.c
M	source/blender/editors/space_outliner/outliner_tree.c
M	source/blender/makesdna/DNA_image_types.h
M	source/blender/makesdna/DNA_object_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_object.c
M	source/blender/makesrna/intern/rna_render.c
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/render/extern/include/RE_bake.h
M	source/blender/render/extern/include/RE_engine.h
M	source/blender/render/intern/source/bake_api.c
M	source/blender/render/intern/source/external_engine.c

===================================================================

diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py
index 1873a373319..93a1271b4b4 100644
--- a/intern/cycles/blender/addon/__init__.py
+++ b/intern/cycles/blender/addon/__init__.py
@@ -83,8 +83,8 @@ class CyclesRender(bpy.types.RenderEngine):
     def render(self, depsgraph):
         engine.render(self, depsgraph)
 
-    def bake(self, depsgraph, bakepass, obj, object_id, pixel_array, result):
-        engine.bake(self, depsgraph, bakepass, obj, object_id, pixel_array, result)
+    def bake(self, depsgraph, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result):
+        engine.bake(self, depsgraph, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result)
 
     # viewport render
     def view_update(self, context):
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index 56637cd1459..b8bc74f9e35 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -164,11 +164,11 @@ def render(engine, depsgraph):
         _cycles.render(engine.session, depsgraph.as_pointer())
 
 
-def bake(engine, depsgraph, bakepass, obj, object_id, pixel_array, result):
+def bake(engine, depsgraph, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result):
     import _cycles
     session = getattr(engine, "session", None)
     if session is not None:
-        _cycles.bake(engine.session, depsgraph.as_pointer(), bakepass.as_pointer(), obj.as_pointer(), object_id, pixel_array.as_pointer(), result.as_pointer())
+        _cycles.bake(engine.session, depsgraph.as_pointer(), obj.as_pointer(), pass_type, pass_filter, object_id, pixel_array.as_pointer(), num_pixels, depth, result.as_pointer())
 
 
 def reset(engine, data, depsgraph):
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 7e95478cad2..11f75b668a9 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -569,6 +569,26 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
         default=False,
     )
 
+    bake_type: EnumProperty(
+        name="Bake Type",
+        default='COMBINED',
+        description="Type of pass to bake",
+        items=(
+            ('COMBINED', "Combined", ""),
+            ('AO', "Ambient Occlusion", ""),
+            ('SHADOW', "Shadow", ""),
+            ('NORMAL', "Normal", ""),
+            ('UV', "UV", ""),
+            ('ROUGHNESS', "Roughness", ""),
+            ('EMIT', "Emit", ""),
+            ('ENVIRONMENT', "Environment", ""),
+            ('DIFFUSE', "Diffuse", ""),
+            ('GLOSSY', "Glossy", ""),
+            ('TRANSMISSION', "Transmission", ""),
+            ('SUBSURFACE', "Subsurface", ""),
+        ),
+    )
+
     use_camera_cull: BoolProperty(
         name="Use Camera Cull",
         description="Allow objects to be culled based on the camera frustum",
@@ -1387,94 +1407,6 @@ class CyclesRenderLayerSettings(bpy.types.PropertyGroup):
         del bpy.types.ViewLayer.cycles
 
 
-class CyclesBakePassSettings(bpy.types.PropertyGroup):
-
-    bake_type: EnumProperty(
-        name="Bake Type",
-        default='COMBINED',
-        description="Type of pass to bake",
-        items=(
-            ('COMBINED', "Combined", ""),
-            ('AO', "Ambient Occlusion", ""),
-            ('SHADOW', "Shadow", ""),
-            ('NORMAL', "Normal", ""),
-            ('UV', "UV", ""),
-            ('ROUGHNESS', "Roughness", ""),
-            ('EMIT', "Emit", ""),
-            ('ENVIRONMENT', "Environment", ""),
-            ('DIFFUSE', "Diffuse", ""),
-            ('GLOSSY', "Glossy", ""),
-            ('TRANSMISSION', "Transmission", ""),
-            ('SUBSURFACE', "Subsurface", ""),
-        ),
-    )
-
-    use_pass_ambient_occlusion: BoolProperty(
-        name="AO",
-        description="Add ambient occlusion contribution",
-        default=True,
-        )
-    use_pass_emit: BoolProperty(
-        name="Emit",
-        description="Add emission contribution",
-        default=True,
-        )
-    use_pass_direct: BoolProperty(
-        name="Direct",
-        description="Add direct lighting contribution",
-        default=True,
-        )
-    use_pass_indirect: BoolProperty(
-        name="Indirect",
-        description="Add indirect lighting contribution",
-        default=True,
-        )
-    use_pass_color: BoolProperty(
-        name="Color",
-        description="Color the pass",
-        default=True,
-        )
-    use_pass_diffuse: BoolProperty(
-        name="Diffuse",
-        description="Add diffuse contribution",
-        default=True,
-        )
-    use_pass_glossy: BoolProperty(
-        name="Glossy",
-        description="Add glossy contribution",
-        default=True,
-        )
-    use_pass_transmission: BoolProperty(
-        name="Transmission",
-        description="Add transmission contribution",
-        default=True,
-        )
-    use_pass_subsurface: BoolProperty(
-        name="Subsurface",
-        description="Add subsurface contribution",
-        default=True,
-        )
-
-    samples: IntProperty(
-        name="Samples",
-        description="Override number of render samples for this bake pass, 0 will use the scene setting",
-        default=0,
-        min=0,
-    )
-
-    @classmethod
-    def register(cls):
-        bpy.types.BakePass.cycles = PointerProperty(
-            name="Cycles Bake Pass Settings",
-            description="Cycles Bake Pass Settings",
-            type=cls,
-        )
-
-    @classmethod
-    def unregister(cls):
-        del bpy.types.BakePass.cycles
-
-
 class CyclesDeviceSettings(bpy.types.PropertyGroup):
     id: StringProperty(name="ID")
     name: StringProperty(name="Name")
@@ -1610,7 +1542,6 @@ def register():
     bpy.utils.register_class(CyclesDeviceSettings)
     bpy.utils.register_class(CyclesPreferences)
     bpy.utils.register_class(CyclesRenderLayerSettings)
-    bpy.utils.register_class(CyclesBakePassSettings)
 
 
 def unregister():
@@ -1626,4 +1557,3 @@ def unregister():
     bpy.utils.unregister_class(CyclesDeviceSettings)
     bpy.utils.unregister_class(CyclesPreferences)
     bpy.utils.unregister_class(CyclesRenderLayerSettings)
-    bpy.utils.unregister_class(CyclesBakePassSettings)
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index d67866984db..542f02f1a6d 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -1738,61 +1738,155 @@ class CYCLES_MATERIAL_PT_settings_volume(CyclesButtonsPanel, Panel):
 
 
 class CYCLES_RENDER_PT_bake(CyclesButtonsPanel, Panel):
-    bl_label = "Cycles Baking"
-    bl_context = "object"
-    bl_parent_id = "OBJECT_PT_bake_passes"
+    bl_label = "Bake"
+    bl_context = "render"
+    bl_options = {'DEFAULT_CLOSED'}
+    COMPAT_ENGINES = {'CYCLES'}
+
+    def draw(self, context):
+        layout = self.layout
+        layout.use_property_split = True
+        layout.use_property_decorate = False  # No animation.
+
+        scene = context.scene
+        cscene = scene.cycles
+        cbk = scene.render.bake
+        rd = scene.render
+
+        if rd.use_bake_multires:
+            layout.operator("object.bake_image", icon='RENDER_STILL')
+            layout.prop(rd, "use_bake_multires")
+            layout.prop(rd, "bake_type")
+
+        else:
+            layout.operator("object.bake", icon='RENDER_STILL').type = cscene.bake_type
+            layout.prop(rd, "use_bake_multires")
+            layout.prop(cscene, "bake_type")
+
+
+class CYCLES_RENDER_PT_bake_influence(CyclesButtonsPanel, Panel):
+    bl_label = "Influence"
+    bl_context = "render"
+    bl_parent_id = "CYCLES_RENDER_PT_bake"
     COMPAT_ENGINES = {'CYCLES'}
     @classmethod
     def poll(cls, context):
         scene = context.scene
+        cscene = scene.cycles
         rd = scene.render
-        bp = context.object.bake_passes.active
-        return context.engine in cls.COMPAT_ENGINES \
-               and not rd.use_bake_multires and bp
+        if rd.use_bake_multires == False and cscene.bake_type in {
+                'NORMAL', 'COMBINED', 'DIFFUSE', 'GLOSSY', 'TRANSMISSION', 'SUBSURFACE'}:
+            return True
 
     def draw(self, context):
         layout = self.layout
         layout.use_property_split = True
         layout.use_property_decorate = False  # No animation.
 
-        bp = context.object.bake_passes.active
-        cbp = bp.cycles
-
-        layout.prop(cbp, "bake_type")
-        layout.prop(cbp, "samples")
+        scene = context.scene
+        cscene = scene.cycles
+        cbk = scene.render.bake
+        rd = scene.render
 
         col = layout.column()
 
-        if cbp.bake_type == 'NORMAL':
-            col.prop(bp, "normal_space", text="Space")
+        if cscene.bake_type == 'NORMAL':
+            col.prop(cbk, "normal_space", text="Space")
 
             sub = col.column(align=True)
-            sub.prop(bp, "normal_r", text="Swizzle R")
-            sub.prop(bp, "normal_g", text="G")
-            sub.prop(bp, "normal_b", text="B")
+            sub.prop(cbk, "normal_r", text="Swizzle R")
+            sub.prop(cbk, "normal_g", text="G")
+            sub.prop(cbk, "normal_b", text="B")
 
-        elif cbp.bake_type == 'COMBINED':
+        elif cscene.bake_type == 'COMBINED':
             row = col.row(align=True)
             row.use_property_split = False
-            row.prop(cbp, "use_pass_direct", toggle=True)
-            row.prop(cbp, "use_pass_indirect", toggle=True)
+            row.prop(cbk, "use_pass_direct", toggle=True)
+            row.prop(cbk, "use_pass_indirect", toggle=True)
 
             flow = col.grid_flow(row_major=False, columns=0, even_columns=False, even_rows=False, align=True)
 
-            flow.active = cbp.use_pass_direct or cbp.use_pass_indirect
-            flow.prop(cbp, "use_pass_diffuse")
-            flow.prop(cbp, "use_pass_glossy")
-            flow.prop(cbp, "use_pass_transmission")
-            flow.prop(cbp, "use_pass_subsurface")
-            flow.prop(cbp, "use_pass_ambient_occlusion")
-            flow.prop(cbp, "use_pass_emi

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list