Commit: ac3c9e6d1743c14fe22d041d3a72a696d93df490
Author: Lukas Stockner
Date:   Sat Feb 11 03:39:47 2017 +0100
Branches: temp-cycles-denoising
https://developer.blender.org/rBac3c9e6d1743c14fe22d041d3a72a696d93df490

Cycles Denoising: Remove denoising-after-rendering functions

===================================================================

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_session.h
M       intern/cycles/render/session.cpp
M       intern/cycles/render/session.h
M       intern/cycles/render/tile.cpp
M       intern/cycles/render/tile.h

===================================================================

diff --git a/intern/cycles/blender/addon/engine.py 
b/intern/cycles/blender/addon/engine.py
index 69f728d274..a56b0df26c 100644
--- a/intern/cycles/blender/addon/engine.py
+++ b/intern/cycles/blender/addon/engine.py
@@ -192,11 +192,7 @@ def system_info():
     return _cycles.system_info()
 
 def can_postprocess(result):
-    import _cycles
-    return _cycles.can_postprocess(result.as_pointer())
+    return False
 
 def postprocess(engine, scene, result):
-    import bpy
-    import _cycles
-    userpref = bpy.context.user_preferences.as_pointer()
-    _cycles.postprocess(engine.as_pointer(), userpref, scene.as_pointer(), 
result.as_pointer())
+    return
diff --git a/intern/cycles/blender/blender_python.cpp 
b/intern/cycles/blender/blender_python.cpp
index 5ec6aa43d6..55f53400bf 100644
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@ -694,58 +694,6 @@ static PyObject *set_resumable_chunks_func(PyObject * 
/*self*/, PyObject *args)
        Py_RETURN_NONE;
 }
 
-static PyObject *can_postprocess_func(PyObject * /*self*/, PyObject *args)
-{
-       PyObject *pyresult;
-
-       if(!PyArg_ParseTuple(args, "O", &pyresult))
-               return NULL;
-
-       /* RNA */
-       PointerRNA resultptr;
-       RNA_pointer_create(NULL, &RNA_RenderResult, 
(void*)PyLong_AsVoidPtr(pyresult), &resultptr);
-       BL::RenderResult b_rr(resultptr);
-
-       bool can_denoise = can_denoise_render_result(b_rr);
-
-       return Py_BuildValue("i", can_denoise? 1: 0);
-}
-
-static PyObject *postprocess_func(PyObject * /*self*/, PyObject *args)
-{
-       PyObject *pyresult, *pyengine, *pyuserpref, *pyscene;
-
-       if(!PyArg_ParseTuple(args, "OOOO", &pyengine, &pyuserpref, &pyscene, 
&pyresult))
-               return NULL;
-
-       /* RNA */
-       PointerRNA engineptr;
-       RNA_pointer_create(NULL, &RNA_RenderEngine, 
(void*)PyLong_AsVoidPtr(pyengine), &engineptr);
-       BL::RenderEngine engine(engineptr);
-
-       PointerRNA userprefptr;
-       RNA_pointer_create(NULL, &RNA_UserPreferences, 
(void*)PyLong_AsVoidPtr(pyuserpref), &userprefptr);
-       BL::UserPreferences userpref(userprefptr);
-
-       PointerRNA sceneptr;
-       RNA_pointer_create(NULL, &RNA_Scene, (void*)PyLong_AsVoidPtr(pyscene), 
&sceneptr);
-       BL::Scene scene(sceneptr);
-
-       PointerRNA resultptr;
-       RNA_pointer_create(NULL, &RNA_RenderResult, 
(void*)PyLong_AsVoidPtr(pyresult), &resultptr);
-       BL::RenderResult b_rr(resultptr);
-
-       BlenderSession session(engine, userpref, scene);
-
-       python_thread_state_save(&session.python_thread_state);
-
-       session.denoise(b_rr);
-
-       python_thread_state_restore(&session.python_thread_state);
-
-       Py_RETURN_NONE;
-}
-
 static PyObject *get_device_types_func(PyObject * /*self*/, PyObject * 
/*args*/)
 {
        vector<DeviceInfo>& devices = Device::available_devices();
@@ -780,9 +728,6 @@ static PyMethodDef methods[] = {
        {"opencl_disable", opencl_disable_func, METH_NOARGS, ""},
 #endif
 
-       {"can_postprocess", can_postprocess_func, METH_VARARGS, ""},
-       {"postprocess", postprocess_func, METH_VARARGS, ""},
-
        /* 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 9f95c4d301..b44c988966 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -95,30 +95,6 @@ BlenderSession::BlenderSession(BL::RenderEngine& b_engine,
        start_resize_time = 0.0;
 }
 
-BlenderSession::BlenderSession(BL::RenderEngine& b_engine,
-                               BL::UserPreferences& b_userpref,
-                               BL::Scene& b_scene)
-: b_engine(b_engine),
-  b_userpref(b_userpref),
-  b_data(PointerRNA_NULL),
-  b_render(PointerRNA_NULL),
-  b_scene(b_scene),
-  b_v3d(PointerRNA_NULL),
-  b_rv3d(PointerRNA_NULL),
-  python_thread_state(NULL)
-{
-       width = 0;
-       height = 0;
-
-       sync = NULL;
-       session = NULL;
-       scene = NULL;
-
-       background = true;
-       last_redraw_time = 0.0;
-       start_resize_time = 0.0;
-}
-
 BlenderSession::~BlenderSession()
 {
        free_session();
@@ -1325,81 +1301,4 @@ void BlenderSession::update_resumable_tile_manager(int 
num_samples)
        session->tile_manager.range_num_samples = range_num_samples;
 }
 
-void BlenderSession::denoise(BL::RenderResult& b_rr)
-{
-       PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
-
-       SessionParams session_params = 
BlenderSync::get_session_params(b_engine, b_userpref, b_scene, true);
-       session_params.only_denoise = true;
-       session_params.progressive_refine = false;
-       session_params.progressive = false;
-       session_params.samples = 1;
-       session_params.start_resolution = 1;
-       session = new Session(session_params);
-       session->set_pause(false);
-
-       b_engine.use_highlight_tiles(true);
-       
session->progress.set_update_callback(function_bind(&BlenderSession::tag_redraw,
 this));
-       
session->progress.set_cancel_callback(function_bind(&BlenderSession::test_cancel,
 this));
-       session->write_render_tile_cb = 
function_bind(&BlenderSession::write_render_tile, this, _1);
-       session->update_render_tile_cb = 
function_bind(&BlenderSession::update_render_tile, this, _1, _2);
-
-       BL::RenderResult::layers_iterator b_layer_iter;
-       for(b_rr.layers.begin(b_layer_iter); b_layer_iter != b_rr.layers.end(); 
++b_layer_iter) {
-               b_rlay_name = b_layer_iter->name();
-
-               /* Search corresponding scene layer to get the denoising 
properties. */
-               BL::RenderSettings r = b_scene.render();
-               BL::RenderSettings::layers_iterator b_s_layer_iter;
-               BL::SceneRenderLayer b_s_layer = r.layers.active();
-               for(r.layers.begin(b_s_layer_iter); b_s_layer_iter != 
r.layers.end(); ++b_s_layer_iter) {
-                       if(b_s_layer_iter->name() == b_layer_iter->name()) {
-                               b_s_layer = *b_s_layer_iter;
-                               break;
-                       }
-               }
-
-               session->params.samples = get_int(cscene, "samples");
-               if(get_boolean(cscene, "use_square_samples")) {
-                       session->params.samples *= session->params.samples;
-               }
-
-               session->buffers = 
BlenderSync::get_render_buffer(session->device, *b_layer_iter, b_rr, 
session->params.samples);
-               if(!session->buffers) {
-                       continue;
-               }
-
-               session->params.half_window = b_s_layer.half_window();
-               float filter_strength = b_s_layer.filter_strength();
-               session->params.filter_strength = (filter_strength == 0.0f)? 
1e-3f : copysignf(powf(10.0f, -fabsf(filter_strength)*2.0f), filter_strength);
-               session->params.filter_weight_adjust = powf(2.0f, 
b_s_layer.filter_weighting_adjust() - 1.0f);
-               session->params.filter_gradient = b_s_layer.filter_gradients();
-               session->params.filter_cross = b_s_layer.filter_cross() && 
session->buffers->params.cross_denoising;
-
-               session->start_denoise();
-               session->wait();
-
-               delete session->buffers;
-               session->buffers = NULL;
-       }
-}
-
-bool can_denoise_render_result(BL::RenderResult& b_rr)
-{
-       /* Since the RenderResult may contain multiple layers,
-        * this function returns true if at least one of them can be denoised. 
*/
-       BL::RenderResult::layers_iterator b_layer_iter;
-       BL::RenderLayer::passes_iterator b_pass_iter;
-       for(b_rr.layers.begin(b_layer_iter); b_layer_iter != b_rr.layers.end(); 
++b_layer_iter) {
-               int denoising_passes = DENOISING_PASS_NONE;
-               for(b_layer_iter->passes.begin(b_pass_iter); b_pass_iter != 
b_layer_iter->passes.end(); ++b_pass_iter) {
-                       denoising_passes |= 
BlenderSync::get_denoising_pass_type(*b_pass_iter);
-               }
-               if((~denoising_passes & DENOISING_PASS_REQUIRED) == 0) {
-                       return true;
-               }
-       }
-       return false;
-}
-
 CCL_NAMESPACE_END
diff --git a/intern/cycles/blender/blender_session.h 
b/intern/cycles/blender/blender_session.h
index cf8def676b..7c302f3bfa 100644
--- a/intern/cycles/blender/blender_session.h
+++ b/intern/cycles/blender/blender_session.h
@@ -46,10 +46,6 @@ public:
                       BL::RegionView3D& b_rv3d,
                       int width, int height);
 
-       BlenderSession(BL::RenderEngine& b_engine,
-                      BL::UserPreferences& b_userpref,
-                      BL::Scene& b_scene);
-
        ~BlenderSession();
 
        void create();
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index c30798f7c6..aeba35544a 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -46,7 +46,7 @@ Session::Session(const SessionParams& params_)
 : params(params_),
   tile_manager(params.progressive, params.samples, params.tile_size, 
params.start_resolution,
        params.background == false || params.progressive_refine, 
params.background, params.tile_order,
-       max(params.device.multi_devices.size(), 1), params.only_denoise),
+       max(params.device.multi_devices.size(), 1)),
   stats()
 {
        device_use_gl = ((params.device.type != DEVICE_CPU) && 
!params.background);
@@ -132,11 +132,6 @@ void Session::start()
        session_thread = new thread(function_bind(&Session::run, this));
 }
 
-void Session::start_denoise()
-{
-       session_thread = new thread(function_bind(&Session::run_denoise, this));
-}
-
 bool Session::ready_to_reset()
 {
        double dt = time_dt() - reset_time;
@@ -778,79 +773,6 @@ void Session::run()
                progress.set_update();
 }
 
-void Session::run_denoise()
-{
-       if(!progress.get_cancel()) {
-               if(!kernels_loaded) {
-                       progress.set_status("Loading render kernels (may take a 
few minutes the first time)");
-
-                       DeviceRequestedFeatures requested_features;
-                       if(!device->load_kernels(requested_features)) {
-                               string message = device->error_message();
-                               if(message.empty())
-                                       message = "Failed loading render 
kernel, see console for errors";
-
-                               progress.set_error(message);
-                               progress.set_status("Error", message);
-                               progress.set_update();
-                               return;
-                       }
-
-                       kernels_loaded = true;
-               }
-
-               progress.reset_sample();
-               tile_manager.reset(buffers->params, params.samples);
-               
progress.set_total_pixel_samples(tile_manager.state.total_pixel_samples);
-               tile_manager.state.global_buffers = buffers;
-               progress.set_render_start_time();
-
-               /* Set up KernelData. */
-               KernelData kernel_data;
-               kernel_data.integrator.half_window = params.half_window;
-               kernel_data.film.pass_stride = 
buffers->params.get_passes_size();
-               kernel_data.film.pass_denoising = 
buffers->params.get_denoise_offset();
-               kernel_data.film.pass_no_denoising = 
buffers->params.selective_denoising? kernel_data.film.pas

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to