From 466b50dbc9f07c19e307e1365712803aecd79c8f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 25 Nov 2021 14:32:53 +0100 Subject: Cycles: expose direct light sampling option in Debug panel, tweak panel layout --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/addon/ui.py | 21 +++++++++++---------- intern/cycles/blender/python.cpp | 8 ++++++++ intern/cycles/integrator/render_scheduler.cpp | 3 +++ 4 files changed, 23 insertions(+), 11 deletions(-) (limited to 'intern') diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index a478dc22cd0..0de936ddb11 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -429,7 +429,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): ) direct_light_sampling_type: EnumProperty( - name="Direct Light Sampling Type", + name="Direct Light Sampling", description="The type of strategy used for sampling direct light contributions", items=enum_direct_light_sampling_type, default='MULTIPLE_IMPORTANCE_SAMPLING', diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 57741447608..6fd21db38ae 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -1819,37 +1819,38 @@ class CYCLES_RENDER_PT_debug(CyclesDebugButtonsPanel, Panel): 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 - col = layout.column() + col = layout.column(heading="CPU") - col.label(text="CPU Flags:") row = col.row(align=True) row.prop(cscene, "debug_use_cpu_sse2", toggle=True) row.prop(cscene, "debug_use_cpu_sse3", toggle=True) row.prop(cscene, "debug_use_cpu_sse41", toggle=True) row.prop(cscene, "debug_use_cpu_avx", toggle=True) row.prop(cscene, "debug_use_cpu_avx2", toggle=True) - col.prop(cscene, "debug_bvh_layout") + col.prop(cscene, "debug_bvh_layout", text="BVH") col.separator() - col = layout.column() - col.label(text="CUDA Flags:") + col = layout.column(heading="CUDA") col.prop(cscene, "debug_use_cuda_adaptive_compile") + col = layout.column(heading="OptiX") + col.prop(cscene, "debug_use_optix_debug", text="Module Debug") col.separator() - col = layout.column() - col.label(text="OptiX Flags:") - col.prop(cscene, "debug_use_optix_debug") + col.prop(cscene, "debug_bvh_type", text="Viewport BVH") col.separator() - col = layout.column() - col.prop(cscene, "debug_bvh_type") + import _cycles + if _cycles.with_debug: + col.prop(cscene, "direct_light_sampling_type") class CYCLES_RENDER_PT_simplify(CyclesButtonsPanel, Panel): diff --git a/intern/cycles/blender/python.cpp b/intern/cycles/blender/python.cpp index bb9b0a74424..012122cf9e3 100644 --- a/intern/cycles/blender/python.cpp +++ b/intern/cycles/blender/python.cpp @@ -1054,5 +1054,13 @@ void *CCL_python_module_init() Py_INCREF(Py_False); } +#ifdef WITH_CYCLES_DEBUG + PyModule_AddObject(mod, "with_debug", Py_True); + Py_INCREF(Py_True); +#else /* WITH_CYCLES_DEBUG */ + PyModule_AddObject(mod, "with_debug", Py_False); + Py_INCREF(Py_False); +#endif /* WITH_CYCLES_DEBUG */ + return (void *)mod; } diff --git a/intern/cycles/integrator/render_scheduler.cpp b/intern/cycles/integrator/render_scheduler.cpp index 971173a5e96..ac82b151f45 100644 --- a/intern/cycles/integrator/render_scheduler.cpp +++ b/intern/cycles/integrator/render_scheduler.cpp @@ -406,6 +406,9 @@ bool RenderScheduler::set_postprocess_render_work(RenderWork *render_work) any_scheduled = true; } + /* Force update. */ + any_scheduled = true; + if (any_scheduled) { render_work->display.update = true; } -- cgit v1.2.3