[Bf-blender-cvs] [5bab2098ae7] cycles_path_guiding: Guiding: use Cycles debug preference, instead of experimental

Brecht Van Lommel noreply at git.blender.org
Thu Aug 11 17:12:51 CEST 2022


Commit: 5bab2098ae727e4754ed2f99a471c2758c97f266
Author: Brecht Van Lommel
Date:   Thu Aug 11 16:44:49 2022 +0200
Branches: cycles_path_guiding
https://developer.blender.org/rB5bab2098ae727e4754ed2f99a471c2758c97f266

Guiding: use Cycles debug preference, instead of experimental

Enabled through Preferences > Interface > Show Developer UI, Experimental > Cycles Debug.

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

M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/ui.py
M	intern/cycles/blender/sync.cpp

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

diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 5fcc1eed7b6..6ff345116a7 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -517,13 +517,13 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
         name="Guiding",
         description="Use path guiding for sampling paths. Path guiding incrementally "
         "learns the light distribution of the scene and guides path into directions "
-        "with high indirect/direct light contributions.",
+        "with high direct and indirect light contributions.",
         default=False,
     )
 
     guiding_distribution_type: EnumProperty(
         name="Guiding Distribution Type",
-        description="The type of the used representation for the guiding distribution",
+        description="Type of representation for the guiding distribution",
         items=enum_guiding_distribution,
         default='PARALLAX_AWARE_VMM',
     )
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index b3c4a8a65a3..365457cdefa 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -326,6 +326,7 @@ class CYCLES_RENDER_PT_sampling_advanced(CyclesButtonsPanel, Panel):
 class CYCLES_RENDER_PT_sampling_path_guiding(CyclesButtonsPanel, Panel):
     bl_label = "Path Guiding"
     bl_parent_id = "CYCLES_RENDER_PT_sampling"
+    bl_options = {'DEFAULT_CLOSED'}
 
     @classmethod
     def poll(cls, context):
@@ -342,24 +343,39 @@ class CYCLES_RENDER_PT_sampling_path_guiding(CyclesButtonsPanel, Panel):
         scene = context.scene
         cscene = scene.cycles
 
-        experimentalView = context.scene.cycles.feature_set == 'EXPERIMENTAL'
-
         layout = self.layout
         layout.use_property_split = True
         layout.use_property_decorate = False
         layout.active = cscene.use_guiding
 
         col = layout.column(align=True)
-        if experimentalView:
-            col.prop(cscene, "guiding_distribution_type", text="Distribution Type")
         col.prop(cscene, "use_surface_guiding", text="Surface Guiding")
-        if experimentalView:
-            col.prop(cscene, "surface_guiding_probability", text="Surface Guiding Probability")
         col.prop(cscene, "use_volume_guiding", text="Volume Guiding")
-        if experimentalView:
-            col.prop(cscene, "volume_guiding_probability", text="Volume Guiding Probability")
-            col.prop(cscene, "use_guide_direct_light", text="Guide Direct Light")
-            col.prop(cscene, "use_mis_weights", text="Use MIS Weights")
+
+
+class CYCLES_RENDER_PT_sampling_path_guiding_debug(CyclesDebugButtonsPanel, Panel):
+    bl_label = "Debug"
+    bl_parent_id = "CYCLES_RENDER_PT_sampling_path_guiding"
+    bl_options = {'DEFAULT_CLOSED'}
+
+    def draw(self, context):
+        scene = context.scene
+        cscene = scene.cycles
+
+        layout = self.layout
+        layout.use_property_split = True
+        layout.use_property_decorate = False
+        layout.active = cscene.use_guiding
+
+        layout.prop(cscene, "guiding_distribution_type", text="Distribution Type")
+
+        col = layout.column(align=True)
+        col.prop(cscene, "surface_guiding_probability", text="Surface Guiding Probability")
+        col.prop(cscene, "volume_guiding_probability", text="Volume Guiding Probability")
+
+        col = layout.column(align=True)
+        col.prop(cscene, "use_guide_direct_light", text="Guide Direct Light")
+        col.prop(cscene, "use_mis_weights", text="Use MIS Weights")
 
 
 class CYCLES_RENDER_PT_subdivision(CyclesButtonsPanel, Panel):
@@ -2327,6 +2343,7 @@ classes = (
     CYCLES_RENDER_PT_sampling_render_denoise,
     CYCLES_RENDER_PT_sampling_advanced,
     CYCLES_RENDER_PT_sampling_path_guiding,
+    CYCLES_RENDER_PT_sampling_path_guiding_debug,
     CYCLES_RENDER_PT_light_paths,
     CYCLES_RENDER_PT_light_paths_max_bounces,
     CYCLES_RENDER_PT_light_paths_clamping,
diff --git a/intern/cycles/blender/sync.cpp b/intern/cycles/blender/sync.cpp
index c2fdef3938e..2a59baad86f 100644
--- a/intern/cycles/blender/sync.cpp
+++ b/intern/cycles/blender/sync.cpp
@@ -414,14 +414,17 @@ void BlenderSync::sync_integrator(BL::ViewLayer &b_view_layer, bool background)
 
   integrator->set_use_guiding(get_boolean(cscene, "use_guiding"));
   integrator->set_use_surface_guiding(get_boolean(cscene, "use_surface_guiding"));
-  integrator->set_surface_guiding_probability(get_float(cscene, "surface_guiding_probability"));
   integrator->set_use_volume_guiding(get_boolean(cscene, "use_volume_guiding"));
-  integrator->set_volume_guiding_probability(get_float(cscene, "volume_guiding_probability"));
-  integrator->set_use_guide_direct_light(get_boolean(cscene, "use_guide_direct_light"));
-  integrator->set_use_mis_weights(get_boolean(cscene, "use_mis_weights"));
-  GuidingDistributionType guiding_distribution_type = (GuidingDistributionType)get_enum(
-      cscene, "guiding_distribution_type", GUIDING_NUM_TYPES, GUIDING_TYPE_PARALLAX_AWARE_VMM);
-  integrator->set_guiding_distribution_type(guiding_distribution_type);
+
+  if (use_developer_ui) {
+    integrator->set_surface_guiding_probability(get_float(cscene, "surface_guiding_probability"));
+    integrator->set_volume_guiding_probability(get_float(cscene, "volume_guiding_probability"));
+    integrator->set_use_guide_direct_light(get_boolean(cscene, "use_guide_direct_light"));
+    integrator->set_use_mis_weights(get_boolean(cscene, "use_mis_weights"));
+    GuidingDistributionType guiding_distribution_type = (GuidingDistributionType)get_enum(
+        cscene, "guiding_distribution_type", GUIDING_NUM_TYPES, GUIDING_TYPE_PARALLAX_AWARE_VMM);
+    integrator->set_guiding_distribution_type(guiding_distribution_type);
+  }
 
   DenoiseParams denoise_params = get_denoise_params(b_scene, b_view_layer, background);



More information about the Bf-blender-cvs mailing list