[Bf-blender-cvs] [7bda09e55d6] experimental-build: Revert "Squashed commit of D3889"
Lukas Stockner
noreply at git.blender.org
Fri Jan 25 15:30:41 CET 2019
Commit: 7bda09e55d637c45bbdbc5c8b0dced889d1c2352
Author: Lukas Stockner
Date: Fri Jan 25 15:30:18 2019 +0100
Branches: experimental-build
https://developer.blender.org/rB7bda09e55d637c45bbdbc5c8b0dced889d1c2352
Revert "Squashed commit of D3889"
This reverts commit b26cc7ce2e58d1ac2837feec66e49909f2a6fdd9.
===================================================================
M intern/cycles/blender/addon/engine.py
M intern/cycles/blender/blender_python.cpp
M intern/cycles/blender/blender_session.cpp
M intern/cycles/blender/blender_sync.cpp
M intern/cycles/device/device_cpu.cpp
M intern/cycles/device/device_cuda.cpp
M intern/cycles/device/device_denoising.cpp
M intern/cycles/device/device_denoising.h
M intern/cycles/device/device_task.h
M intern/cycles/device/opencl/opencl.h
M intern/cycles/device/opencl/opencl_base.cpp
M intern/cycles/kernel/filter/filter_defines.h
M intern/cycles/kernel/filter/filter_features.h
M intern/cycles/kernel/filter/filter_features_sse.h
M intern/cycles/kernel/filter/filter_nlm_cpu.h
M intern/cycles/kernel/filter/filter_nlm_gpu.h
M intern/cycles/kernel/filter/filter_prefilter.h
M intern/cycles/kernel/filter/filter_reconstruction.h
M intern/cycles/kernel/filter/filter_transform.h
M intern/cycles/kernel/filter/filter_transform_gpu.h
M intern/cycles/kernel/filter/filter_transform_sse.h
M intern/cycles/kernel/kernel_types.h
M intern/cycles/kernel/kernels/cpu/filter_cpu.h
M intern/cycles/kernel/kernels/cpu/filter_cpu_impl.h
M intern/cycles/kernel/kernels/cuda/filter.cu
M intern/cycles/kernel/kernels/opencl/filter.cl
M intern/cycles/render/CMakeLists.txt
M intern/cycles/render/buffers.cpp
M intern/cycles/render/buffers.h
D intern/cycles/render/denoising.cpp
D intern/cycles/render/denoising.h
M intern/cycles/render/film.cpp
M intern/cycles/render/film.h
M intern/cycles/render/session.cpp
M intern/cycles/render/session.h
M intern/cycles/util/util_system.cpp
M intern/cycles/util/util_system.h
===================================================================
diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py
index b8bc74f9e35..7829e090c98 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -270,11 +270,14 @@ def register_passes(engine, scene, srl):
engine.register_pass(scene, srl, "Noisy Image", 4, "RGBA", 'COLOR')
if crl.denoising_store_passes:
engine.register_pass(scene, srl, "Denoising Normal", 3, "XYZ", 'VECTOR')
+ engine.register_pass(scene, srl, "Denoising Normal Variance", 3, "XYZ", 'VECTOR')
engine.register_pass(scene, srl, "Denoising Albedo", 3, "RGB", 'COLOR')
+ engine.register_pass(scene, srl, "Denoising Albedo Variance", 3, "RGB", 'COLOR')
engine.register_pass(scene, srl, "Denoising Depth", 1, "Z", 'VALUE')
- engine.register_pass(scene, srl, "Denoising Shadowing", 1, "X", 'VALUE')
- engine.register_pass(scene, srl, "Denoising Variance", 3, "RGB", 'COLOR')
- engine.register_pass(scene, srl, "Denoising Intensity", 1, "X", 'VALUE')
+ engine.register_pass(scene, srl, "Denoising Depth Variance", 1, "Z", 'VALUE')
+ engine.register_pass(scene, srl, "Denoising Shadow A", 3, "XYV", 'VECTOR')
+ engine.register_pass(scene, srl, "Denoising Shadow B", 3, "XYV", 'VECTOR')
+ engine.register_pass(scene, srl, "Denoising Image Variance", 3, "RGB", 'COLOR')
clean_options = ("denoising_diffuse_direct", "denoising_diffuse_indirect",
"denoising_glossy_direct", "denoising_glossy_indirect",
"denoising_transmission_direct", "denoising_transmission_indirect",
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp
index 426176d37d0..bf5c2432bc7 100644
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@ -21,8 +21,6 @@
#include "blender/blender_sync.h"
#include "blender/blender_session.h"
-#include "render/denoising.h"
-
#include "util/util_debug.h"
#include "util/util_foreach.h"
#include "util/util_logging.h"
@@ -620,97 +618,6 @@ static PyObject *opencl_disable_func(PyObject * /*self*/, PyObject * /*value*/)
}
#endif
-static PyObject *denoise_func(PyObject * /*self*/, PyObject *args, PyObject *keywords)
-{
- static const char *keyword_list[] = {"in", "out", "device", "threads", "tile_width", "tile_height",
- "frames", "frameradius", "radius", "strength", "featurestrength",
- "relativepca", "ldr", "views", "list_devices", "samples", NULL};
- const char *in_str = NULL, *out_str = NULL, *device_name = NULL, *frames_str = NULL;
- PyObject *relative_pca = NULL, *ldr = NULL, *views = NULL, *list_devices = NULL;
- int threads = 0, tile_width = 64, tile_height = -1, frame_radius = 2, radius = 8, samples = 0;
- float strength = 0.5f, feature_strength = 0.5f;
-
- if (!PyArg_ParseTupleAndKeywords(args, keywords, "|sssiiisiiffOOOOi", (char**)keyword_list,
- &in_str, &out_str, &device_name, &threads,
- &tile_width, &tile_height, &frames_str, &frame_radius,
- &radius, &strength, &feature_strength, &relative_pca,
- &ldr, &views, &list_devices, &samples)) {
- Py_RETURN_FALSE;
- }
-
- if(list_devices && PyObject_IsTrue(list_devices)) {
- vector<DeviceInfo>& devices = Device::available_devices();
- printf("Devices:\n");
- foreach(DeviceInfo& info, devices) {
- printf(" %-10s%s%s\n",
- Device::string_from_type(info.type).c_str(),
- info.description.c_str(),
- (info.display_device)? " (display)": "");
- }
-
- Py_RETURN_TRUE;
- }
-
- string in = string(in_str? in_str : ""), out = string(out_str? out_str : "");
-
- if(in.empty() || out.empty()) {
- fprintf(stderr, "Both input and output name/pattern must be specified!\n");
- Py_RETURN_FALSE;
- }
-
- TaskScheduler::init(threads);
-
- DeviceType device_type = Device::type_from_string(device_name? device_name : "CPU");
- vector<DeviceInfo>& devices = Device::available_devices();
- vector<DeviceInfo> picked_devices;
- foreach(DeviceInfo& info, devices) {
- if(device_type == info.type) {
- picked_devices.push_back(info);
- }
- }
- if(picked_devices.size() == 0) {
- fprintf(stderr, "Unknown device type!\n");
- Py_RETURN_FALSE;
- }
-
- DeviceInfo device;
- if(picked_devices.size() == 1) {
- device = picked_devices[0];
- }
- else {
- device = Device::get_multi_device(picked_devices, 0, true);
- }
-
- Stats stats;
- Profiler profiler;
- StandaloneDenoiser denoiser(Device::create(device, stats, profiler, true));
- denoiser.views = views && PyObject_IsTrue(views);
- denoiser.tile_size = make_int2(tile_width, (tile_height > 0)? tile_height : tile_width);
- denoiser.samples = samples;
- denoiser.ldr_out = ldr && PyObject_IsTrue(ldr);
- denoiser.center_frame = string(frames_str? frames_str : "");
- denoiser.frame_radius = frame_radius;
- denoiser.strength = strength;
- denoiser.feature_strength = feature_strength;
- denoiser.relative_pca = relative_pca && PyObject_IsTrue(relative_pca);
- denoiser.radius = radius;
- denoiser.in_path = in;
- denoiser.out_path = out;
- denoiser.passthrough_incomplete = true;
- denoiser.passthrough_additional = true;
- denoiser.passthrough_unknown = true;
-
- if(!denoiser.run_filter()) {
- fprintf(stderr, "%s\n", denoiser.error.c_str());
- TaskScheduler::exit();
- Py_RETURN_FALSE;
- }
-
- TaskScheduler::exit();
-
- Py_RETURN_TRUE;
-}
-
static PyObject *debug_flags_update_func(PyObject * /*self*/, PyObject *args)
{
PyObject *pyscene;
@@ -871,9 +778,6 @@ static PyMethodDef methods[] = {
{"opencl_disable", opencl_disable_func, METH_NOARGS, ""},
#endif
- /* Standalone denoising */
- {"denoise", (PyCFunction)denoise_func, METH_VARARGS|METH_KEYWORDS, ""},
-
/* Debugging routines */
{"debug_flags_update", debug_flags_update_func, METH_VARARGS, ""},
{"debug_flags_reset", debug_flags_reset_func, METH_NOARGS, ""},
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index aa5a93a2a0e..c634926ea9f 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -422,19 +422,15 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
buffer_params.passes = passes;
PointerRNA crl = RNA_pointer_get(&b_view_layer.ptr, "cycles");
- bool full_denoising = get_boolean(crl, "use_denoising");
- bool write_denoising_passes = get_boolean(crl, "denoising_store_passes");
+ bool use_denoising = get_boolean(crl, "use_denoising");
+ bool denoising_passes = use_denoising || get_boolean(crl, "denoising_store_passes");
- bool run_denoising = full_denoising || write_denoising_passes;
-
- session->tile_manager.schedule_denoising = run_denoising;
- buffer_params.denoising_data_pass = run_denoising;
+ session->tile_manager.schedule_denoising = use_denoising;
+ buffer_params.denoising_data_pass = denoising_passes;
buffer_params.denoising_clean_pass = (scene->film->denoising_flags & DENOISING_CLEAN_ALL_PASSES);
- buffer_params.denoising_prefiltered_pass = write_denoising_passes;
- session->params.run_denoising = run_denoising;
- session->params.full_denoising = full_denoising;
- session->params.write_denoising_passes = write_denoising_passes;
+ session->params.use_denoising = use_denoising;
+ session->params.denoising_passes = denoising_passes;
session->params.denoising_radius = get_int(crl, "denoising_radius");
session->params.denoising_strength = get_float(crl, "denoising_strength");
session->params.denoising_feature_strength = get_float(crl, "denoising_feature_strength");
@@ -442,7 +438,6 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
scene->film->denoising_data_pass = buffer_params.denoising_data_pass;
scene->film->denoising_clean_pass = buffer_params.denoising_clean_pass;
- scene->film->denoising_prefiltered_pass = buffer_params.denoising_prefiltered_pass;
session->params.denoising_radius = get_int(crl, "denoising_radius");
session->params.denoising_strength = get_float(crl, "denoising_strength");
session->params.denoising_feature_strength = get_float(crl, "denoising_feature_strength");
@@ -513,11 +508,10 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_)
break;
}
- BL::RenderResult b_full_rr = b_engine.get_result();
- string num_aa_samples = string_printf("%d", session->params.samples);
- render_add_metadata(b_full_rr, "Cycles Samples " + b_rlay_name, num_aa_samples);
if(is_single_layer) {
- render_add_metadata(b_full_rr, "Cycles Samples", num_aa_samples);
+ BL::RenderResult b_rr = b_engine.get_result();
+ string num_aa_samples = string_printf("%d", session->params.samples);
+ b_rr.stamp_data_add_field("Cycles Samples", num_aa_samples.c_str());
/* TODO(sergey): Report whether we're doing resumable render
* and also start/end sample if so.
*/
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 0a8be11dbad..60192bfa8f8 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -482,7 +482,7 @@ int BlenderSync::get_denoising_pass(BL::RenderPass& b_pass)
{
string name = b_pass.name();
- if(name == "Noisy Image") return DENOISING_PASS_PREFILTERED_COLOR;
+ if(name == "Noisy Image") return DENOISING_PASS_COLOR;
if(name.substr(0, 10) != "Denoising ") {
return -1;
@@ -490,12 +490,15 @@ int BlenderSync::get_denoising_pass(BL::RenderPass& b_pass)
name = name.substr(10);
#define MAP_PASS(passname, offset) if(name == passname) return offset;
- MAP_PASS("Normal", DENOISING_PASS_PREFILTERED_NORMAL);
- MAP_PASS("Albedo", DENOISING_PASS_PREFILTERED_ALBEDO);
- MAP_PASS("Depth", DENOISING_PASS_PREFILTERED_DEPTH);
- MAP_PASS("Shadowing", DENOISING_PASS_PREFILTERED_SHADOWING);
- MAP_PASS("Variance", DENOISING_PASS_PREFILTERED_VARIANCE);
- MAP_PASS("Intensity", DENOISING_PASS_PREFILTERED_INTENSITY);
+ MAP_PASS("No
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list