@@ -18,7 +18,7 @@ def __init__(self, renderer:bpy.types.RenderEngine, size: tuple[int, int]):
1818 self .previous_iter = 0
1919
2020 def update (self , runtime ):
21- # Only update if the iteration count has changed. This will also skip the phase were no iteration was made yet
21+ # Only update if the iteration count has changed. This will also skip the phase in which no iteration was made yet
2222 if self .previous_iter == runtime .IterationCount :
2323 return
2424 self .previous_iter = runtime .IterationCount
@@ -43,13 +43,16 @@ def update(self, runtime):
4343 layer .passes ["Combined" ].rect = buffer
4444 else :
4545 # Our channels only have three channels
46- layer .passes [aov_name ].rect = buffer
46+ try :
47+ layer .passes [aov_name ].rect = buffer
48+ except KeyError as e :
49+ self .report ({'ERROR' }, f"Ignis: Expected { aov_name } to be registered in the first iteration. Ignoring output" )
4750
4851 self .renderer .update_result (self .result )
4952
50- def finalize (self ):
53+ def finalize (self , canceled : bool ):
5154 if self .result is not None :
52- self .renderer .end_result (self .result )
55+ self .renderer .end_result (self .result , cancel = canceled )
5356
5457 def _setup (self , runtime ):
5558 # Add aovs as passes and assume the
@@ -132,7 +135,7 @@ def render(self, depsgraph: bpy.types.Depsgraph):
132135 opts .Target = ig .Target .pickGPU ()
133136 opts .Target .ThreadCount = threads
134137 opts .OverrideFilmSize = [x , y ]
135- opts .Denoiser .Enabled = False # scene.ignis.use_denoiser
138+ opts .Denoiser .Enabled = scene .ignis .use_denoiser
136139
137140 with ig .loadFromString (json .dumps (exported_scene ), sceneDir , opts ) as runtime :
138141 if not runtime :
@@ -161,7 +164,7 @@ def _time_func():
161164 bpy .app .timers .unregister (_time_func )
162165
163166 updater .update (runtime )
164- updater .finalize ()
167+ updater .finalize (self . test_break () )
165168
166169 self .update_stats ("" , "" )
167170
0 commit comments