← All ideas
  • Published 15 Mar 2024

Adding render parameters in Cycles

The idea is not simple, but in my opinion it is very important. To make it possible to select a fragment from the overall render frame and set its sample density. For example, so that the render passes at 100% samples in the center, and 50% at the bottom and top. In that spirit. The only thing is that the transition of these zones should be adequately calculated. But this will greatly improve the quality of the render, and most importantly, increase the speed. This only applies to the Cycles engine. Speed is the main problem with it.

100%

Development Status: Open

Upvote 2 Downvote 0
nottodayrender
15 Mar 2024

7 Comments

So you want to feed cycles a black and white sample count map, which cycles would then use to set the number of samples for each pixel, by multiplying the samples in the render panel with the value of the map (0-1)?

It's a good idea. Interior Reflection and Transmission often need more samples than well lit primarily diffuse areas.

1
nottodayrender Author

Yes, you understood me a little better.

pitched

If I understood you correctly, you want different render samples for different parts of the image. You can use the "Override" option on different render layers to set specific samples already. I don't see the need to change the sampling for areas of the 2D image. Additionally the "Noise Threshold" option for sampling already reduces the sample count where only a few samples are needed. Are you sure the optimization you're looking for isn't already inside Blender?

1
nottodayrender Author

Let's take a scene where there are glasses in the center. The material of the glasses is glass, and there is volumetric noise in the background. If we render the whole scene in Cycles, there are a lot of artifacts, the scene renders for a very long time, and the edges render for the same time as the glass, but the glass remains noisy. This is a rough example. Cycles doesn't have a setting that allows you to select, for example, the central fragment and specify the render peak for it, and the render peak for the edges. I meant this kind of case.

pitched

Maybe I'm just not getting your point, but this sounds exactly like the Noise Threshold to me. It reduces the samples based on the noise. If you render glasses and set up a noise threshold with a high sample count the glass material will render with the high samples, while the frame with the not-glass material stops after the noise is below the threshold. This results in less render time, as less samples are used on the frame, but still allows to fully render the glass

1

some ray types need a higher noise threshold than others. Sounds odd, but often the diffuse pass looks visibly fine with noise threshold 0.1, whereas glossy/transmission needs a noise threshold of 0.05. This leads to areas being sampled more than needed for the sake of problematic areas.

It could be addressed with improved adaptive sampling, but until then this would be pretty handy, and also allow for experimentation.

nottodayrender Author

Thanks. For example, using denoise will not work correctly if the scene with volumetrics. All pleasant noise/smoke will be smoothed out. There are many examples of projects where optimization works and where it doesn’t. I just suggested an option where you can specify areas on the render frame. Areas with both higher and lower density of samples. Manually.