Announcement

Collapse
No announcement yet.

Progressive sampling - could a constant noise mode be possible?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Progressive sampling - could a constant noise mode be possible?

    Hi,

    during a progressive sampled rendering is running I observed that at the end of the render process the noisy areas get more attention and are solved. That's magic.

    Now, I ask me, could it be possible to keep the noise over the whole image constant during the render process? At the moment at the beginning of the render process some areas clear quite fast and other areas are grainy. Couldn't spend more samples at grainy areas at the beginning also? So, the user could get a rendering with homogeneous noise at every time and stop it, if it is good looking.

    -Micha


    www.simulacrum.de ... visualization for designer and architects

  • #2
    I don' t think it makes much sense not to have the noise refining in an adaptive way. But you could set the min and max subdivs of the progressive sampler to the same value, like 100/100. This should prevent the rendering from beeing adaptive at all. In the end you will just get higher rendertimes or an overall noisier image in the same amount of time. Of course the same amount of noise in a high contrast area still is visually noisier than the same noise in a flat area, if it' s that what you' re after.

    Comment


    • #3
      Originally posted by Micha View Post

      Now, I ask me, could it be possible to keep the noise over the whole image constant during the render process?
      Isn't that the way it always worked?
      See the log: Click image for larger version  Name:	Progessive noise.png Views:	1 Size:	3.0 KB ID:	1032164


      It lowers the threshold progressively during the rendering.
      It sets itself a target threshold and continues till that threshold is reached for the whole image. Then it lowers the threshold and starts to clean up the whole image again. You can see that in the sample rate element. Every time it lowers the threshold the image will turn white again (or at least nearly white).
      Maybe what you see is that some materials are fast enough to skip several noise threshold levels within one sample, so they won't get touched by the sampler for a while. But I don't think there is a good way to solve this because they couldn't get less than one sample.
      Last edited by Ihno; 05-04-2019, 04:00 AM.
      German guy, sorry for my English.

      Comment


      • #4
        Ihno I have seen the Noise threshold steps too and I don't understand, if a goal is reached, shouldn't the sampling rate (SR) of the whole image not in a tight range around the goal like at the final SR output?

        First, I'm not sure what the SR output shows - shot samples per surface point or the noise threshold? The last SR output is quite homogeneous blue/green, so I suppose so we see the reached noise threshold, where enough samples was shot. So, I expect that during the calculation we get the same SR look for the rawer thresholds too. I miss that at threshold 0.14 the SR output shows green/blue too.

        Here a quick test to illustrate what I mean, I set a raw final noise threshold 0.1 and get a nice homogeneous noise - SR output attached. So, I could set for the final goal 0.1 / 0.05 / 0.02 / 0.01 and I would get images with a homogeneous noise. It could be great, if the progressive rendering would provide the same homogeneous quality steps and the user could stop, if he think it's good enough for now. (I used Octane a few times and it works like this - an useful workflow.)
        www.simulacrum.de ... visualization for designer and architects

        Comment


        • #5
          Originally posted by Micha View Post
          Ihno I have seen the Noise threshold steps too and I don't understand, if a goal is reached, shouldn't the sampling rate (SR) of the whole image not in a tight range around the goal like at the final SR output?
          As for the SR element: only white pixels are active pixels, all other colors show how long a pixel isn't actively sampled anymore because it reached the currently targeted threshold already. So yea, in the end you'll have a very blue image with a bit of green and some red pixels no matter what threshold you set. If you want to see the noise amount instead, use the noise level element.
          German guy, sorry for my English.

          Comment


          • #6
            We added the dynamic noise threshold to achieve exactly this effect. However, it keeps the current threshold until the percentage of the active pixels drops under a certain value, not until all pixels have reached the goal. By default it's 80%. This is done for performance reasons - the utilization will suffer if you wait for all pixels to reach each threshold. If you set it to 1% (the lowest you can set it), you should get a very similar behavior to what you describe.

            You can set it with this MaxScript command:
            Code:
            renderers.current.progressive_dynNoiseThreshold=1
            The sample rate element shows the number of samples that each pixel contains relative to the most sampled pixel. You can find more info about it here: https://docs.chaosgroup.com/display/...VRaySampleRate
            Radoslav Platikanov | Chaos R&D

            Comment


            • #7
              radoslav.platikanov Interesting insight. I'm using VfR and can access the vropt file only. There I found:

              Code:
                                  <parameter handler="default" listType="none" type="integer" name="progressive_progNoiseThreshold" label="progressive_progNoiseThreshold">
                                      <value>80</value>
              Is this the right value to edit?

              I tried this value and the SR output looks more homogeneous, but not the noise. Radoslav, what do you think about a way to keep a homogeneous noise level over the whole image during the progressive process? So, the noise could be looking like analog film noise and the user could stop the progressive process by getting the right look. Should the progressive sampling not allow to stop the render process at this way?
              Last edited by Micha; 05-04-2019, 11:42 PM.
              www.simulacrum.de ... visualization for designer and architects

              Comment


              • #8
                Looks like it's the correct value, yes.

                Better ways to achieve this effect than the dynamic threshold are certainly possible but are not easy to implement. Still, the dynamic threshold should provide very close results to just rendering with the higher threshold, especially with a low percentage.
                In any case, completely uniform analog-like noise is not really possible. For example, some parts of the scene may converge so quickly that they're way below the threshold even with one sample. The threshold guarantees that the estimated noise for each pixel will not be higher than the value but it can still be lower.
                Radoslav Platikanov | Chaos R&D

                Comment


                • #9
                  OK, thank you for the details. I will test the parameter. Could be nice, if the progressive sampling could be optimized for stopping a render process at every time.
                  www.simulacrum.de ... visualization for designer and architects

                  Comment


                  • #10
                    Hi radoslav.platikanov

                    could please read here https://forums.chaosgroup.com/forum/...sive-rendering .

                    Do you think it could be possible to stop a rendering and it get's the final sampling for the current noise threshold?
                    www.simulacrum.de ... visualization for designer and architects

                    Comment


                    • #11
                      Hi Micha,

                      Actually there's a way to do it now using resumable rendering. You can stop the rendering, set a new higher noise threshold and resume the rendering. Or alternatively, start with a high noise threshold and if the quality is not good enough at the end, lower the threshold and resume.
                      Unfortunately resumable rendering is not currently supported in V-Ray for Rhino from what I can see. V-Ray Standalone supports it though and can be used for this. It's not as easy as pressing a button in the VFB but it should achieve the same result.
                      Radoslav Platikanov | Chaos R&D

                      Comment

                      Working...
                      X