[Bf-blender-cvs] [94f6585] experimental-build: Revert "Cycles: Experimental proof-of-concept LWR denoising v2"

Lukas Stockner noreply at git.blender.org
Wed Mar 30 17:41:30 CEST 2016


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. @@




More information about the Bf-blender-cvs mailing list