Author Topic: Outline Material and Noise Threshold  (Read 170 times)

2025-08-13, 13:59:50

dj_buckley

  • Active Users
  • **
  • Posts: 1064
    • View Profile
I can't seem to get a clean render using the outline material as an override when using noise threshold ....

2025-08-13, 15:26:03
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 13798
  • Marcin
    • View Profile
That's because most of the image is noise-less (the solid gray area). This kind of situation is tricky in terms of reported noise level.
My suggestion would be to switch to pass limit.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2025-08-13, 16:09:34
Reply #2

dj_buckley

  • Active Users
  • **
  • Posts: 1064
    • View Profile
That's really counterintuitive though.  As you said, the rest of the image is noiseless, I'm not prepared to dramatically increase render times for some preview renders, just so I can use the Outline material.  Noise limit is the only rendering method that guarantees no quality without wasting any extra render time.  It's a measurable target.  Pass Limit and Time Limit are complete guesswork that you end up overestimating because nobody knows no doubt resulting in extra render time and resource usage that probably wasn't necessary. 

Also for what it's worth.  Corona Wires didn't suffer this problem.  Outline was simply meant to be a more refined Corona Wires, not a more regressed one.  A wire shader that didn't detect every edge or require a hack/workaround to achieve that

2025-08-13, 19:12:03
Reply #3

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 6177
    • View Profile
The processing behind Wires and Outline is different, in a way that made Wires pretty much unsusceptible to having to have noise that gets cleaned up. Wires didn't really "render" the same, as it was calculated from the geometry, but Outline is calculated by firing rays into the scene, ie, what normally happens during rendering. As such Outline was NOT meant to be simply a more refined Wires - it is intended as a whole different solution, to achieve different things.

Noise as a measure can only ever account for "percentage of noise present across the whole image", that is precisely what it measures. With a simple plain material outside of the Outline, that simple plain material will clean up and give a tiny fraction of the image left with noise remaining. This would be similar to having a small object against a single color background, another situation where Noise is not necessarily a good measure to use. Since these situations exist, this is why Pass and Time limits are still in place as options, because Noise sometimes is not that suitable.

If you want to use Noise, you just have to lower the target significantly compared to what you would usually use. You can either use that super low value as your target, or you could do it once to find out how many Passes it takes to reach a clean image, and then use that Passes value in all similar images, knowing you won't be "wasting render time" by doing extra unnecessary passes.

So, what you are seeing here is not a problem or limitation of the Outline, but a limitation of Noise as a measure of whether an image is visually clean enough yet.

PS I guess another way to calculate a Pass / Time value would be to do a Noise target render using render region, narrowed down to where there is a high prevalence of the Outline result, that way the Noise value will be more of a measure of "how much noise is there in the Outline part of the image only", and then you can use that as the Passes value for the entire image, again letting you know Passes or Time has not been set arbitrarily too high.
Tom Grimes | chaos-corona.com
Product Manager | contact us

2025-08-13, 19:47:35
Reply #4

dj_buckley

  • Active Users
  • **
  • Posts: 1064
    • View Profile
As such Outline was NOT meant to be simply a more refined Wires

Without sounding incredibly ungrateful, that's kind of all we were asking for

2025-08-13, 20:02:31
Reply #5

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 6177
    • View Profile
It was created as part of the request for Toon shading, which definitely was asking for a bit more :) Either way, it may have been entirely impossible to otherwise improve on Wire without doing this actual raytracing (and indeed, Ray Differentials had to be improved to make this edge detection work properly, if you recall that was a rendering change introduced prior to the release of Toon shading), so we may have ended up here anyway even if someone had wanted something simpler - that is, running into a shortcoming of how Noise works as a render target.
Tom Grimes | chaos-corona.com
Product Manager | contact us

Yesterday at 14:58:23
Reply #6

Aram Avetisyan

  • Corona Team
  • Active Users
  • ****
  • Posts: 947
    • View Profile
Hi,

The issue is most probably because you have a very little outline thickness - AA and image filter fight to figure out if it is outline or surface.

First, the case is not usual, so feel free to lower the Gi vs AA balance - you need more AA here. Try changing image filter type and width - the effect will be little here though.
But most importantly, try making the outline wider and maybe brighter a bit to compensate for the effect. You can as well render at higher resolution and then downsample - it is a good known way of keeping patterns sharp(er) while reducing AA noise.
Aram Avetisyan | chaos-corona.com
Chaos Corona QA Specialist | contact us