Cycles Development Updates

Wow
Please, write how to do that? What is pre-filtering?

Another big nail in the coffin of NLM, literally the only thing the old solution will have going for it now is the temporal denoising, but the Blender devs. did not even bother to expose it to the GUI (console only).

So it looks for sure like it will no longer be possible to produce a result where detail from the noisy image is actually lost, good.

This is from an intel developer working in OIDN, not in cycles currently but the library could be updated at some point relatively soon.
https://twitter.com/attila_afra/status/1395167038465773571

image

10 Likes

It seems like you are right: T88434: OpenImageDenoise 1.4 upgrade. :slight_smile:

5 Likes

I wonder if Cycles will get something like this (new paper on a glitter/glints BRDF) - especially after the Cycles-X rewrite

11 Likes

I want this.This would make cycles x even better in quality for product rendering.And the speed is in realtime rendered too.Have you noticed that the most 2 minutes paper demos running in Blender? Maybe they have a code from they demo,that can be implemented right now into cycles x.
What about the code licence,can Blender implement this for opensource?
2 Minutes has many paper/demos but i am not sure every code is opensource?
…and i guess this would need a new seperate "glossy"shader,otherwise all old roughness/normal values would become broken with backward compatibility and to many parameter for the “old” principled PBR workflow.

I guess it could be a drop down option within the existing glossy node - in much the same way as GGX, Sharp etc are.

There is some code given at the end of the video. No idea who easy it would be to port to Cycles (or Eevee for that matter - considering how fast it seems to be). It’s available here:

hm yes,but the shader needs four parameter.
here you can play with
http://igg.unistra.fr/People/reproctex/Demos/Real_Time_Glint/
btw he worked on a glint anti-aliasing too.

btw in the code is written MIT license,so it seems its free to use,not sure if this counts for Blender implementation too though.

Some Cycles nodes adapt based on what option is selected in a drop down (e.g. Voronoi), so that in itself shouldn’t be a hurdle.

Isn’t blender GPL? The MIT licence says it’s compatible with GPL.

I ran my own test comparing Blender 2.92 Cycles and Blender 3.0 Alpha Cycles X. This scene is from my Zero One animation project. It is a relatively heavy scene with a large amount of geometry and texture data. In addition, it is almost entirely lit by emission textures.

I recorded the render times after running the render at least once to avoid the conversion time to Cycles and Cycles X. Although I have 2 x 2070 Super, I’m only running 1 x 2070 super GPU in this test as Cycles X does not support multi GPUs at the moment. With that said, Cycles X is still pretty fast with just 1 GPU.

11 Likes

Wow I love this scene, it’s looking gorgeous and cozy. Reminds me of the old Blade Runner game, and the film of course. Cycles X does really well with that many reflections. What are your settings on both ? I’m curious

Thank you. I used the following settings, if there’s anything else you need, let me know.

1 Like

Looks like a good frost or sugar coating… The denoiser wont like it tho.

OIDN is way ahead of Optix. So powerful cant wait to see the 1.40 in Blender.

Possibly - but no different to if you did glitter or metallic car paint using any other method.

Small scale details will always be challenging for a denoiser.

Version 1.4 with Clean Aux looks quite promising though (which changes the denoising algorithm to assume the passes are clean). Optix is still only useful for low-sample previews last I checked.

Is “Clean Aux” a global setting or can you affect it in post? Sometimes when the denoiser goes a bit amok I use cryptomatte to reduce its effect on certain surfaces.

2 Likes

That will depend on the implementation, which as far as I can see hasn’t been worked on yet.

Keep in mind that the “clean” in “Clean Aux” isn’t a verb, it’s an adjective. It isn’t the function you set to clean (‘pre-denoise’) your auxiliary passes, that function is a separate new feature. Clean Aux is a flag you set telling OIDN that your auxiliary passes are clean, either because you set the flag that pre-denoises them, or because they were not noisy to begin with. The naming could have been clearer. :wink:

Source:

Edit:
It looks like the pre-denoising can only be set on the normal and albedo passes. It isn’t implemented in the OIDN library to accept split out additional AOVs to pre-denoise.

1 Like

Unless I am misunderstandig this, aren’t albedo and nromal passes clean (after 1 sample) anyway? Why should I put flag to tell the denoiser they are?

If there is high frequency (subpixel) information then it needs at least a few samples but yes it does clean up almost immediately