Remove Noise by inverting light - free shader download

Hi all,

after a while of thinking i found that it is time for me to give something back to the Blender Community. I learned so much from you people out there, and i got so many inspiring help which made me a lot better in 3D Art. So, i decided to publish my low noise Shader Setup, because i think i will help a lot People. The Shader can be downloaded for free from my Blendermarket Portfolio. Here is the link.

The main idea behind the denoise function is based on a accidental discovery: if you invert a light sources Color and direction by setting the emission strength to minus 1 and setting the glossy rays of the light path node as a mixing factor, you can crash fireflies at once.

The Node Setup is basically as this:


The light Path factor then needs to be set for glossy, diffuse, transmission and shadow rays to control the noise of every ray type. The complete setup then is:


Please have a try. I would be glad to hear your ideas for that setup, and i would like to hear about your results. Maybe this idea can get some further improvement by the community.

Have Fun!

Karl Andreas Groß

cool… pictures?

Emit shader isn’t visible if behind a glass shader.

Low shader:

http://i.imgur.com/Mb1uLQP.png

regular shader:

http://i.imgur.com/5fFzIDv.png

Your shader is telling that your light should be treated as a black emitter for glossy rays, it could reduce noise but it would open a whole serie of problems, for example what bigbad said, or your light would be reflected black for glossy shaders with roughness = 0.000… and so on.

Unless i’ve not understand properly

Hi Bigbad, marco,
this is not fully true - it depends on how the settings are made. The Shader offers a value to mix regular and denoise light, with this, it is possible to see an emitter behind glass. And Reflections in Glossy surfaces are not black, see attached images to proof. The Monkey on the right is a Glossy Shader only, Roughness = 0.0. The Difference in Noise Amount is visible in the image compare:




The Node Setup i’ve shown above was just a part of the complete setup. It has shown only the main idea of the inverted light.

what do you think? i’m looking forward to your suggestions.

Karl Andreas Groß

Here’s a few tests as promised. Sadly they didn’t work out as I hoped.


This is an interior shot from an animation of mine. The scene is lit by five mesh lights, other than that it’s very simple, mostly diffuse materials, and the gold in the background is a diffuse/glossy mix. Nothing special, but it might be noteworthy that this is a closed interior.

Attachments



And here’s the second test. I split the post due to upload limits.



This is the gooseberry benchmark (at 50% size and 200 samples for time reasons)

The noise in these is exactly the same, but the Low-Noise-Shader darkens some shadows.
I simply replaced the “emission” node of every light (be it mesh or sun) with your low-noise_emission-node, at the same color+strength. Did I set it up wrong?

i took a look at your shader but didn’t find anthing new: you just switch to another shader* as soon as bounce count reach an arbitrary value. For each light path. Also notice tha this inverted light doesn’t make much sense: just removing the inverted emitter gave the same firefly free render in even less time

*the nodetree actually “turns off the light” that’s why the test above give some darker areas: less light bounces

Hi,
yes, that what is expectable. The Shader is ment to use - as told in the description - for lighting situation that may cause fireflies and/or will need heavy clamping. For a scene as those above, there will be only sublte effect.
Sorry that the setup does not help you out.

Ah, okay. Just thought I’d give it a try, would have been cool if it worked.
Thanks anyways for making it freely available, maybe I’ll run into situations where it’s applicable.

Just to explain my idea further, maybe anyone will offer a statement to this:
I just wonder why the most import Node for Lighting - as the Emission node is - does have only two settings. There are thousands of ideas, materials, tutorials out there that tell of how to make rendering faster, deliver more realistic results and so on. But i found hardly anything about ways to improve the Emission itself. Therefore i designed the Low Noise Shader. Ok, it would be better to call it “low firefly Shader”. I think it is a good starting point in beginning a discussion in if it is possible to give more functionality to the light itself.

What do you think?

Hi Fred,
just to mention it: the rendered Frame of animation looks very cool!

to be less generic “Advanced bounce-limit emitter” would be a good name imo