Commit: 94f65851972d6e1b9b7a7016e8f1dddfe77adff0
Author: Lukas Stockner
Date:   Wed Mar 30 17:17:15 2016 +0200
Branches: experimental-build
https://developer.blender.org/rB94f65851972d6e1b9b7a7016e8f1dddfe77adff0

Revert "Cycles: Experimental proof-of-concept LWR denoising v2"

This reverts commit 5bf2b6facead2ed98e2076dd47337e61d6280a7c.

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

M       intern/cycles/blender/addon/properties.py
M       intern/cycles/blender/addon/ui.py
M       intern/cycles/blender/blender_session.cpp
M       intern/cycles/blender/blender_session.h
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_task.h
M       intern/cycles/kernel/CMakeLists.txt
M       intern/cycles/kernel/closure/bsdf.h
M       intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
M       intern/cycles/kernel/closure/bsdf_ashikhmin_velvet.h
M       intern/cycles/kernel/closure/bsdf_diffuse.h
M       intern/cycles/kernel/closure/bsdf_hair.h
M       intern/cycles/kernel/closure/bsdf_microfacet.h
M       intern/cycles/kernel/closure/bsdf_oren_nayar.h
M       intern/cycles/kernel/closure/bsdf_reflection.h
M       intern/cycles/kernel/closure/bsdf_refraction.h
M       intern/cycles/kernel/closure/bsdf_toon.h
M       intern/cycles/kernel/closure/bsdf_transparent.h
M       intern/cycles/kernel/kernel_accumulate.h
D       intern/cycles/kernel/kernel_filter.h
M       intern/cycles/kernel/kernel_passes.h
M       intern/cycles/kernel/kernel_path.h
M       intern/cycles/kernel/kernel_path_branched.h
M       intern/cycles/kernel/kernel_path_state.h
M       intern/cycles/kernel/kernel_path_surface.h
M       intern/cycles/kernel/kernel_shader.h
M       intern/cycles/kernel/kernel_types.h
M       intern/cycles/kernel/kernels/cpu/kernel_cpu.h
M       intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h
M       intern/cycles/kernel/kernels/cuda/kernel.cu
M       intern/cycles/render/buffers.cpp
M       intern/cycles/render/buffers.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/render/tile.cpp
M       intern/cycles/render/tile.h
M       intern/cycles/util/CMakeLists.txt
M       intern/cycles/util/util_atomic.h
M       intern/cycles/util/util_math.h

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

diff --git a/intern/cycles/blender/addon/properties.py 
b/intern/cycles/blender/addon/properties.py
index 0dd5a16..01aa619 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -255,63 +255,6 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
                 default='USE',
                 )
 
-        cls.use_filtering = BoolProperty(
-                name="Use LWR filtering",
-                description="Apply a post-processing filter to the image that 
removes noise at the cost of accuracy",
-                default=False,
-                )
-        cls.filter_half_window = IntProperty(
-                name="Half Window",
-                description="Radius of the LWR filter window (larger values 
produce smoother results, but take longer to filter and potentially lose more 
detail)",
-                min=2, max=64,
-                default=5,
-                )
-        cls.filter_bandwidth_factor = FloatProperty(
-                name="Bandwidth factor",
-                description="Controls the strength of the filtering - 0 is the 
automatically selected strength (and should be fine for most scenes, except for 
hair/fur)",
-                min=-2, max=2,
-                default=0,
-                )
-
-        cls.filter_diffuse_direct = BoolProperty(
-                name="Diffuse Direct",
-                description="Filter the diffuse direct pass separately",
-                default=False,
-                )
-        cls.filter_diffuse_indirect = BoolProperty(
-                name="Diffuse Indirect",
-                description="Filter the diffuse indirect pass separately",
-                default=False,
-                )
-        cls.filter_glossy_direct = BoolProperty(
-                name="Glossy Direct",
-                description="Filter the glossy direct pass separately",
-                default=False,
-                )
-        cls.filter_glossy_indirect = BoolProperty(
-                name="Glossy Indirect",
-                description="Filter the glossy indirect pass separately",
-                default=False,
-                )
-        cls.filter_transmission_direct = BoolProperty(
-                name="Transmission Direct",
-                description="Filter the transmission direct pass separately",
-                default=False,
-                )
-        cls.filter_transmission_indirect = BoolProperty(
-                name="Transmissison Indirect",
-                description="Filter the transmission indirect pass separately",
-                default=False,
-                )
-
-        cls.prepass_samples = IntProperty(
-                name="Prepass Samples",
-                description="Number of samples to render before the remaining 
samples are rendered"
-                            "in order to give a faster preview of the result",
-                min=0, max=16384,
-                default=0,
-                )
-
         cls.sample_all_lights_direct = BoolProperty(
                 name="Sample All Direct Lights",
                 description="Sample all lights (for direct samples), rather 
than randomly picking one",
diff --git a/intern/cycles/blender/addon/ui.py 
b/intern/cycles/blender/addon/ui.py
index a2fc55c..b9e51df 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -200,22 +200,6 @@ class CyclesRender_PT_sampling(CyclesButtonsPanel, Panel):
         if not (use_opencl(context) and cscene.feature_set != 'EXPERIMENTAL'):
             layout.row().prop(cscene, "sampling_pattern", text="Pattern")
 
-        row = layout.row()
-        sub = row.column()
-        sub.prop(cscene, "use_filtering")
-        if cscene.use_filtering:
-            sub.prop(cscene, "filter_half_window")
-            sub.prop(cscene, "filter_bandwidth_factor", slider=True)
-            col = sub.column(align=True)
-            row = col.row(align=True)
-            row.prop(cscene, "filter_diffuse_direct", toggle=True)
-            row.prop(cscene, "filter_glossy_direct", toggle=True)
-            row.prop(cscene, "filter_transmission_direct", toggle=True)
-            row = col.row(align=True)
-            row.prop(cscene, "filter_diffuse_indirect", toggle=True)
-            row.prop(cscene, "filter_glossy_indirect", toggle=True)
-            row.prop(cscene, "filter_transmission_indirect", toggle=True)
-
         for rl in scene.render.layers:
             if rl.samples > 0:
                 layout.separator()
@@ -379,7 +363,6 @@ class CyclesRender_PT_performance(CyclesButtonsPanel, 
Panel):
         sub.prop(rd, "tile_y", text="Y")
 
         sub.prop(cscene, "use_progressive_refine")
-        sub.prop(cscene, "prepass_samples")
 
         subsub = sub.column(align=True)
         subsub.enabled = not rd.use_border
diff --git a/intern/cycles/blender/blender_session.cpp 
b/intern/cycles/blender/blender_session.cpp
index 39e9c0c..92b5b72 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -379,12 +379,16 @@ static void end_render_result(BL::RenderEngine& b_engine,
        b_engine.end_result(b_rr, (int)cancel, (int)do_merge_results);
 }
 
-void BlenderSession::do_write_update_render_tile(RenderTile& rtile, bool 
highlight, bool do_update_only)
+void BlenderSession::do_write_update_render_tile(RenderTile& rtile, bool 
do_update_only)
 {
+       BufferParams& params = rtile.buffers->params;
+       int x = params.full_x - session->tile_manager.params.full_x;
+       int y = params.full_y - session->tile_manager.params.full_y;
+       int w = params.width;
+       int h = params.height;
+
        /* get render result */
-       int x = rtile.x - session->tile_manager.params.full_x;
-       int y = rtile.y - session->tile_manager.params.full_y;
-       BL::RenderResult b_rr = begin_render_result(b_engine, x, y, rtile.w, 
rtile.h, b_rlay_name.c_str(), b_rview_name.c_str());
+       BL::RenderResult b_rr = begin_render_result(b_engine, x, y, w, h, 
b_rlay_name.c_str(), b_rview_name.c_str());
 
        /* can happen if the intersected rectangle gives 0 width or height */
        if(b_rr.ptr.data == NULL) {
@@ -411,37 +415,37 @@ void 
BlenderSession::do_write_update_render_tile(RenderTile& rtile, bool highlig
                        update_render_result(b_rr, b_rlay, rtile);
                }
 
-               end_render_result(b_engine, b_rr, highlight, true);
+               end_render_result(b_engine, b_rr, true, true);
        }
        else {
                /* write result */
                write_render_result(b_rr, b_rlay, rtile);
-               end_render_result(b_engine, b_rr, highlight, true);
+               end_render_result(b_engine, b_rr, false, true);
        }
 }
 
 void BlenderSession::write_render_tile(RenderTile& rtile)
 {
-       do_write_update_render_tile(rtile, false, false);
+       do_write_update_render_tile(rtile, false);
 }
 
-void BlenderSession::update_render_tile(RenderTile& rtile, bool highlight)
+void BlenderSession::update_render_tile(RenderTile& rtile)
 {
        /* use final write for preview renders, otherwise render result 
wouldn't be
         * be updated in blender side
         * would need to be investigated a bit further, but for now shall be 
fine
         */
        if(!b_engine.is_preview())
-               do_write_update_render_tile(rtile, highlight, true);
+               do_write_update_render_tile(rtile, true);
        else
-               do_write_update_render_tile(rtile, false, false);
+               do_write_update_render_tile(rtile, false);
 }
 
 void BlenderSession::render()
 {
        /* set callback to write out render results */
        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);
+       session->update_render_tile_cb = 
function_bind(&BlenderSession::update_render_tile, this, _1);
 
        /* get buffer parameters */
        SessionParams session_params = 
BlenderSync::get_session_params(b_engine, b_userpref, b_scene, background);
@@ -451,7 +455,7 @@ void BlenderSession::render()
        BL::RenderSettings r = b_scene.render();
        BL::RenderSettings::layers_iterator b_layer_iter;
        BL::RenderResult::views_iterator b_view_iter;
-
+       
        for(r.layers.begin(b_layer_iter); b_layer_iter != r.layers.end(); 
++b_layer_iter) {
                b_rlay_name = b_layer_iter->name();
 
@@ -489,9 +493,8 @@ void BlenderSession::render()
                }
 
                buffer_params.passes = passes;
-               buffer_params.lwr_passes = session_params.filter_params;
                scene->film->pass_alpha_threshold = 
b_layer_iter->pass_alpha_threshold();
-               scene->film->tag_passes_update(scene, passes, 
session_params.filter_params);
+               scene->film->tag_passes_update(scene, passes);
                scene->film->tag_update(scene);
                scene->integrator->tag_update(scene);
 
@@ -715,9 +718,10 @@ void 
BlenderSession::do_write_update_render_result(BL::RenderResult& b_rr,
        if(!buffers->copy_from_device())
                return;
 
+       BufferParams& params = buffers->params;
        float exposure = scene->film->exposure;
 
-       vector<float> pixels(rtile.w*rtile.h*4);
+       vector<float> pixels(params.width*params.height*4);
 
        /* Adjust absolute sample number to the range. */
        int sample = rtile.sample;
@@ -738,7 +742,7 @@ void 
BlenderSession::do_write_update_render_result(BL::RenderResult& b_rr,
                        int components = b_pass.channels();
 
                        /* copy pixels */
-                       if(!buffers->get_pass_rect(pass_type, exposure, sample, 
components, &pixels[0], rtile.x, rtile.y, rtile.w, rtile.h))
+                       if(!buffers->get_pass_rect(pass_type, exposure, sample, 
components, &pixels[0]))
                                memset(&pixels[0], 0, 
pixels.size()*sizeof(float));
 
                        b_pass.rect(&pixels[0]);
@@ -747,7 +751,7 @@ void 
BlenderSession::do_write_update_render_result(BL::RenderResult& b_rr,
        else {
                /* copy combined pass */
                BL::RenderPass 
b_combined_pass(b_rlay.passes.find_by_type(BL::RenderPass::type_COMBINED, 
b_rview_name.c_str()));
-               if(buffers->get_pass_rect(PASS_COMBINED, exposure, sample, 4, 
&pixels[0], rtile.x, rtile.y, rtile.w, rtile.h))
+               if(buffers->get_pass_rect(PASS_COMBINED, exposure, sample, 4, 
&pixels[0]))
                        b_combined_pass.rect(&pixels[0]);
        }
 
diff --git a/intern/cycles/blender/blender_session.h 
b/intern/cycles/blender/blender_session.h
index 80da467..66a6945 100644
--- a/intern/cycles/blender/blender_session.h
+++ b/intern/cycles/blender/blender_session.h
@@ -79,7 +79,7 @@ public:
        void update_render_result(BL::RenderResult& b_rr,
                      

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to