Bilateral blur node feedback(updated with Images)

please post feedback on the bilateral blur patch here.
the diff and some examples can be found here:

read the description in the patch tracker:

and a Ubuntu linux build can be found here:

I would like to know from those who want to test:
-what should be the (reasonable) limits in the UI for sigma values, now they are set big for testing.
-any other ideas in the possible workflow/functionality.

  • didn’t test it with animation myself, so test please if you have time for that.

but please don’t expect this to get much better, and have to say, it’s not sure if it gets ever to SVN, since I don’t know if the code is well written. Please post also images, if you suceed nice ones, or images where it doesn’t work for some reason.

first test image - 2 AO samples, OSA 8 filter Mitch, render time 1:37

I’d be more than happy to test it for you if you have a windoze build or a Linux 64 build (my bios won’t support ANY flavor of 32 bit Linux, I do not know why).

Are the splotches on the wall .jpg compression artifacts or a result of the smoothing on low AO samples?

I’m more at home with the compositor than any other area of Blender and would love something like this to speed up my renders.

those splotches are result of blurring, seems AO samples are not evenly distributed, I used adaptive QMC. Sorry I don’t have the build, but I’ve seen one on, but I think It’s also 32 bit ubuntu.But if you have a build environment, you could build it :slight_smile:

more tests:
1 AO sample, OSA 8 filter Mitch, render time 1:37min(the same as 2 samples!)
6 AO samples, OSA 8 filter Mitch, render time 3:43min

seems to be a great improvement!

thanx for your good work.


20 AO samples, OSA 8 filter Mitch, render time 29:27min(finally squeezed a bigger rendertime out of blender :)) The effect is almost not visible here.It even produces some artefacts in the background, probably because of z buffer.

last test for now:
comparison of 1 AO sample versus 20 AO samples, 20 times bigger render time!!! you can see the quality of the smoothed image is lower, but I think that it’s enough for some purposes, and saves time hugely.

This looks really interesting!

It could be of great use for something like indigo, too. Render a quick and dirty image in blender, and just use the normals and zbuffer. Then use the indigo render as the image.

At least, if I understand the node correctly, is that right?

yes, you understand it right, I thought about this too. You don’t even need a "dirty"image, you can just compute the z and nor passes.Here’s another test with more detailed image, again only 1 AO sample, just showing the AO:
again, you can see some artefacts, but the overall quality is good(for 1 sam)

updated the patch in the patch tracker.

I guess it’s because of working with Z-buffer information that the AA is nonexistant in the skylight. Am I right?

Can this be taken care of with some trick other than rendering at a high resolution and then downsampling. Otherwise much of the speedup is removed.

you are right, that should be taken care of probably.maybe i should remove alpha from the blurring, or add some switch

It sounds very good :yes::yes::yes:

thank U :smiley:

found a solution - scale twice(or 3x) up before applying node, then scale down. that takes not much (2d)rendertime, just set iterations twice as high


I just noticed the url link to paper this blur is based on - it is from the Informatics at my University (Edinburgh) of which I’m an undergraduate. :wink:


Hi, looks nice, and there are some good results there!

Two clarifications about AO. Because of limitations in the old jittered sphere sampler, the number you set in the UI is squared to be the actual number of samples. Eg. if you set 5 samples, you’re really taking 5*5=25 samples. For QMC this isn’t necessary, but I kept it that way for convention and consistency.

Also, for some strange reason, I think related to the jittered sphere sampler code, the AO samples are always adjusted to be at least the OSA samples. So if you’ve set 1 AO sample, and rendered with OSA 8, you’re actuall using 8*8 = 64 samples. I’m considering making this only happen for the jittered sampling, but that’s also a bit inconsistent… sigh

Did you actually benchmark that the 20 AO samples was 20 times slower than setting 1 AO sample in the UI (probably ended up being 5 or 8)? Because for those above reasons, you’re not jus ttaking 20 times the number of samples, and it doesn’t make render time scale linearly like that.

PS. If you want better distributed samples, choose Constant QMC. It probably won’t be as fast, but it should be more even = less noise. But then of course the whole purpose of using the blurring is to reduce noise, so hey :slight_smile:

But I like what I see so far!


render with AO shaded + Bilateral blur nodes, 15 seconds (AO shaded 2 samples)

Hohoo! pildanovak!
I’ve been waiting for something like this! Amazing job!

I can see it really does make the AO a lot smoother.

When can we get a Windows build with the shaded AO and AO smoother, preferred if the Tiles Texture, Broken’s stuff, and Jahka particles are in as well.