Cycles: add animation denoising Python operator.

This adds a cycles.denoise_animation operator, which denoises an animation
sequence or individual file. Renders must be saved as multilayer EXR files
with denoising data passes.

By default file path and frame range come from the current scene, and EXR
files are denoised in-place. Alternatively, a different input and/or output
file path can be provided.

Denoising settings come from the current view layer. Renders can be denoised
again with different settings, as the original noisy image is preserved along
with other passes and metadata.

There is no user interface yet for this feature, that comes later.

Code by Lukas with modifications by Brecht. This feature was originally
developed for Tangent Animation, thanks for the support!

Differential Revision: https://developer.blender.org/D3889
This commit is contained in:
Lukas Stockner
2019-02-06 12:57:10 +01:00
committed by Brecht Van Lommel
parent 382fe85e29
commit e379a9ba91
16 changed files with 1418 additions and 48 deletions

View File

@@ -979,10 +979,7 @@ void Session::render()
task.passes_size = tile_manager.params.get_passes_size();
if(params.run_denoising) {
task.denoising_radius = params.denoising_radius;
task.denoising_strength = params.denoising_strength;
task.denoising_feature_strength = params.denoising_feature_strength;
task.denoising_relative_pca = params.denoising_relative_pca;
task.denoising = params.denoising;
assert(!scene->film->need_update);
task.pass_stride = scene->film->pass_stride;