Flamenco: disable Cycles denoiser when progressive rendering
The denoiser data cannot be (easily) merged, so for now we just disable the denoiser.
This commit is contained in:
parent
924fb45cb2
commit
53fa3e628a
@ -436,6 +436,14 @@ class FLAMENCO_OT_render(async_loop.AsyncModalOperatorMixin,
|
||||
old_use_overwrite = render.use_overwrite
|
||||
old_use_placeholder = render.use_placeholder
|
||||
|
||||
disable_denoiser = (context.scene.flamenco_render_job_type == 'blender-render-progressive'
|
||||
and render.engine == 'CYCLES')
|
||||
if disable_denoiser:
|
||||
use_denoising = [layer.cycles.use_denoising
|
||||
for layer in context.scene.view_layers]
|
||||
else:
|
||||
use_denoising = []
|
||||
|
||||
try:
|
||||
|
||||
# The file extension should be determined by the render settings, not necessarily
|
||||
@ -446,6 +454,10 @@ class FLAMENCO_OT_render(async_loop.AsyncModalOperatorMixin,
|
||||
render.use_overwrite = False
|
||||
render.use_placeholder = False
|
||||
|
||||
if disable_denoiser:
|
||||
for layer in context.scene.view_layers:
|
||||
layer.cycles.use_denoising = False
|
||||
|
||||
filepath = Path(context.blend_data.filepath).with_suffix('.flamenco.blend')
|
||||
self.log.info('Saving copy to temporary file %s', filepath)
|
||||
bpy.ops.wm.save_as_mainfile(filepath=str(filepath),
|
||||
@ -457,6 +469,10 @@ class FLAMENCO_OT_render(async_loop.AsyncModalOperatorMixin,
|
||||
render.use_overwrite = old_use_overwrite
|
||||
render.use_placeholder = old_use_placeholder
|
||||
|
||||
if disable_denoiser:
|
||||
for denoise, layer in zip(use_denoising, context.scene.view_layers):
|
||||
layer.cycles.use_denoising = denoise
|
||||
|
||||
return filepath
|
||||
|
||||
async def bat_pack(self, filepath: Path) \
|
||||
@ -885,6 +901,9 @@ class FLAMENCO_PT_render(bpy.types.Panel, FlamencoPollMixin):
|
||||
text='Recommended Max Samples per Task: %d' % recommended_cap)
|
||||
props.sample_cap = recommended_cap
|
||||
|
||||
if any(layer.cycles.use_denoising for layer in context.scene.view_layers):
|
||||
box.label(text='Progressive Rendering will disable Denoising.', icon='ERROR')
|
||||
|
||||
labeled_row = layout.split(**blender.factor(0.25), align=True)
|
||||
labeled_row.label(text='Frame Range:')
|
||||
prop_btn_row = labeled_row.row(align=True)
|
||||
|
Reference in New Issue
Block a user