Cycles feedback

I posted recently under the specific task you linked.
Brecht’s answer is that the mesh of an object must be a single continuous volume. They will only try to fix artifacts which appear when this continuous mesh intersects itself.

This is a Random Walk requirement as it’s based on a more realistic simulation of light scatter - it wasn’t a requirement for Burley.

There it was enough to have multiple meshes joined into one object. They could still be separate meshes and SSS would treat them as one with no artifacts.
This is a pretty big drawback of Random walk.

1 Like

@ slowburn
@ JohnDow

could you please render the scene in Blender 2.93.5 and use the Blender Denoiser
NLM. Best one render with the default settings in the denoiser-setting-options (8px)
and once with 24px.

@slowburn: your .blend file can not be downloaded anymore, otherwise I would
have tested it myself…

The rendered scenes of JohnDow show clearly how bad ODIN works in Blender
(post from 10 September) ODIN clearly shows cloud formation and texture loss.

All the development work on Cycles X brings absolutely nothing if we have to
set the sample rates so high for noise-free images that we end up rendering
longer than with cycles and we also have to accept texture loss, that makes
absolutely no sense.

@ Blender Developer: port the NLM Denoiser for Cycles X, because NLM works
much better in dark scenes than ODIN or Optix, and with less samples…
NLM works also better in detailed scenes (fine structures and complex textures)

Please also think about the usability (enduser) it should be all easier, but quite the
opposite is the case. Even if 3.0 still has alpha status, so it is foreseeable
that you have to fumble around in various places, and also in the compositor,
to get noise-free images.
Why all this?

1 Like

100% Agree, specially for stylized renders where having realistic simulation of SSS is not the main goal. Random walk looks beautiful for realistic stuff but it’s pretty hard to control when looking for a more cartoony look.

3 Likes

Actually I asked Brecht, he said the OIDN in the render settings works the same as the denoise node, and my latest test does show that the two are the same, and the denoiser is by default checked and have “accurate” prefilter mode selected, so there is really no extra work for the users here.

Did you see this comparison by @JohnDow ?

OIDN with CleanAux and Prefiltering (use the “Accurate” mode to turn both on) is now so much better.

2 Likes

@ Eary
at such extremely low sample rates ODIN is clearly better than NLM,
also Optix is then clearly better, but 5 or 10 sampels are not realistic!

The problems become obvious when high resolution images are needed,
with fine textures and structures; then both ODIN and Optix produce
ugly and unacceptable blurry spots (clouds) and you loose texture.
This can be clearly seen in the example images at the beginning of
PetrTarasov’s post. Look at the leather texture.

If you need an animation in “High Res” another disadvantage of ODIN and
Optix becomes visible; the cloud formation and the texture loss lead to
a “pulsing” like with timeshift recordings, because the AI does not take
the noise of the preceding image sufficiently into calculation, so it
becomes “unpredictable” because other places are always affected; this
is completely unusable. We had already solved the problem halfway with
“seed”, now it’s back again…

1 Like

This is no longer the case, look a this comparison by @Alaska

There is a WIP optix patch for that:
https://developer.blender.org/D11442

3 Likes

As others have recommended, you try new OIDN “Prefilter” None and Accurate options.
Generally “None” is the one that best preserves fine textures. As long as you don’t render with extreme low render samples “None” may be best for interior renders. For animation perhaps Accurate is the best mode.

If someone finds that in some scene NLM denoiser still gives clearly better results than new OIDN, the .blend file should be shared here so developers can discuss it.

3000 samples, no denoising

100 samples, OIDN, A+N, prefilter set to none:

100 samples, OptiX, A+N:

100 samples, K-Cycles’ UDN, A+N, Highest Quality, Transmission ON:

100 samples, SuperImageDenoiser, Super Quality, E+T+E:

100 samples, NLM, Default, 8 pix:

100 samples, NLM, Default, 24 pix:

2 Likes

Never heard of any company using expensive macs as render slaves. From our own renderfarm experience I can say that you are buying in bulk so buy whatever X systems render best for your Y money. Normally you can get twice the PC CPU render-power vs. Mac CPU render-power for the same money. Plus the flawlessly working CUDA / RTX GPUs on Windows. If you can, go CPU on Linux, but GPU rendering on Linux is suboptimal too. Buy optimised, as simple as possible machines, but sturdy. There is no need for super durable, expensive render slaves, but they will run 24/7, so good, reliable cooling (air cooling, watercooling isn’t that reliable or too expensive). Some of your render slaves will break over the months/years, it isn’t a problem, the renderpower of the farm will only be diminished by very low % at a time. No need for expensive same day/24 h support. Buy more slaves instead. Buy less, stronger machines instead of many, cheap ones, costs for electricity /renderere licenses will be less and you will have your frames rendered faster. 100 slow machines will render the whole animation in the same time as 10 10x times faster ones but you will kill yourself waiting for that last few frames in the animations to finally finish or will hate yourself on huge print pics with the many, slow slaves.

@Eary
thank you for sharing this two pictures, but their are only showing the difference between ODIN 1.3 and 1.4. ODIN 1.3 kills all textures on the pillows; 1.4 shows texture on the pillow, but you can see there is something wrong with the texture on the left pillow. The seat area shows some blurry, spotty, uneven, areas areas where there should be more (where is the texture)

Without an comparable image without denoiser and high sample rate (2000 or 4000 samples = noisefree) and a rendersample with the same sample rate like in the demo picture above, and NLM settings to 24px, we have nothing to discuss (to compare)

@Pinus I will run tests for you.
OIDN 1.3 vs OIDN 1.4 with the various settings. And I’ll test NLM with a pixel size of 8px and 24px.

It may just take a while to do the test (I am running some other tests for other people)

1 Like

@YAFU
You are right, with these settings in ODIN the result is much better, but the texture
loss is still visible, ODIN just destroys a lot of details and brings additional spots
into the image.

You can see this in the new pictures of JohnDow.
Look at the wooden panels to the right and left of the TV, especially in the gaps
between the slats you can see that ODIN creates dark areas where there should be
none. ODIN also destroys the details/texture of the seat backs and the paper box in
the foreground. Also the screen (reflection) shows the clouds/spots.

NLM shows more noise in the new images from JohnDow, but also much less loss
of texture, and also creates no washed out spots.

The SuperImageDenoiser does the best job(!) much better than Optix and ODIN,
no matter at which settings.

SID and NLM do the best job of preserving texture and detail.

JohnDow does not write with which setting in NLM he rendered with, I guess 8px
(std), would be interesting to see that with 24px. A few more samples or a bit more
render time are worth it, if you can keep the texture and details. We want fast and
good, not just fast, don’t we!?

@JohnDow
Thanks for the new pictures.
Which setting in NLM did you render with, 8px or 24px?
If it was only 8px, could you render another one with 24px?
(please, for comparison)

The SuperImageDenoiser does in this diner scene the best job by far.

[quote=“Alaska, post:807, topic:18598, full:true”]
@Pinus I will run tests for you.

@Alaska
Fantastic, the direct comparison is always the best, thank you!

I used default settings with radius set to 8 pix. I’ve updated the original post with 24 pix version and I also added ‘ground truth’ version - 3000 samples, no denoising.

Since the full benefits of OIDN 1.4 is available through the compositor now, what you can do to improve detail capture is string the denoising normal output through a sharpen filter before piping it into the denoise node (as long as the filtering is set to ‘none’).

Of course this means there will be a little bit of noise that remains, but not in a way that is any worse than the noise ignored by the old NLM algorithm. Then there’s denoising the individual lighting passes and combining them if you really want to make sure every tiny detail is intact.

2 Likes

NLM denoiser actually creates very annoying patches/spots that are just as bad as washed out textures. Lukas Stockner once said that he was working to solve that problem. But as long as that is not fixed, NLM creates those patches/spots that are very noticeable to the eye.

There is no point in making comparisons in this thread with other denoisers that are not included in official Blender (2.93 or 3.0). There are node combinations using OIDN denoise node that give much better results than a single OIDN denoise node:

I think SID uses some kind of these node combinations in compositor.

Also in those tests the total render+processing time was not shown, which is important. One of the methods could get a good result but with a lot of processing time.

you are right if we are talking about low sampel rates, then ODIN and Optix is better
than NLM. But when it comes to removing noise at high sample rates, NLM is better.

The combination of high sampel rate and NLM at 24px produces super
homogeneous, crisp images, and also preserves the color transitions.

NLM shows its limits at low sampel rates, then especially with reflective surfaces
(like the screen) and indirect light, but this can be adjusted.

NLM handles surfaces better than ODIN (texture Paperbox) and produces no light
where there is none (metal head of pepper shaker)
(compare NLM 24px with 3000s no denoiser and ODIN)
NLM is not perfect, but much closer to the original (3000s no denoiser = reference)

When you need a high resolution image in large format (poster print) then you can
clearly see where ODIN or Optix have their weaknesses. Also at high sampel rates
ODIN produces clearly visible washed out areas in actually calm areas, with NLM
this does not happen to me.

I will upload a few sample images in the next few days.

Thanks to all for this fair and open discussion.

@Ace_Dragon
thanks for the tip, I’ll give that a try!

If you have a clear example where NLM is better at reducing noise and taking render times into account, you provide the scene .blend file here to convince developers. Otherwise the discussion in this thread may start to get in the way of other Cycles-X related issues.

That is not entirely true. So that NLM denoiser does not have problems with fireflies and generates even more spots/patches, the input for NLM desnoiser is freed from fireflies before performing the noise reduction (This is why for OIDN denoise node it is preferable to use “Image” output instead of “Noisy image” output in versions prior to 3.0). If you remove fireflies, then you are removing lighting: