[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