3
$\begingroup$

I am using cycles and progressive rendering. What I need to do is save all the images coming from intermediate stages. For example, I set the sample number to 500 and what I need to get is having 500 images with more and more samples used. Is it possible? I am new to blender. Sorry if I am asking for a very simple thing.

Best, Krzysztof

$\endgroup$
2
$\begingroup$

Unfortunately, it's not possible to automatically save multiple stages of the progressive render. The nearest you can get to this is to render multiple images with a small number of samples and then combine them to produce a result - similar to the progressive render.

To achieve this you need each 'frame' to be rendered with different 'seed' setting. The 'seed' is the source of the 'noise' in the render. Different seeds produce different noise and when these are combined it results in the noise effectively cancelling out. The seed for the render is available in the Sampling render properties. Alongside the Seed value is a clock icon - clicking this will use the frame number as the seed and this will result in a different seed being used per frame.

changing seed

As an example, here are multiple frames rendered with 1 sample each, each with a different seed :

animated changing seed

Combining multiple images is most easily achieved using tools outside Blender - such as ImageMagick. To combine multiple images using ImageMagick you can use the following command line :

magick convert *png -average result.png

This produces the following result :

combined result

To produce the 'progressive' result (multiple images at different stages) you would simply combine fewer images for each 'earlier' stage in the process (for example, images 1-20, images 1-40, images 1-60, etc. for progressively more detail).

Note, however, that better results will be produced from the 'actual' progressive render due to losses resulting in each individual frame - for example, values outside the 0.0 to 1.0 normal range are not stored in individual PNG renders. This will result in the loss of some details such as caustics.

$\endgroup$
  • $\begingroup$ Actually, the solution you mentioned, was the first thing I tried to do. Unfortunately, the results are not satisfactory enough because of the reason you mentioned, some values are simply clamped. I tried to render many images with just one sample and then average them (this the step I am interested in). Another reason is also the fact that this animated seed works only for secondary rays, what means that with every frame, primary rays are shoot from the same location within the pixel (there is no jittering when you render with just one sample), which results in horrible aliasing. $\endgroup$ – Krzysztof Wolski Apr 18 '18 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.