Announcement

Collapse
No announcement yet.

Progressive Rendering Algorithm Logic Question....

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

  • Progressive Rendering Algorithm Logic Question....

    I am trying to make sure I understand the correct logic of the Progressive Rendering parameters. I've tried to elaborate as best I could. Can someone confirm?

    Question 1:
    I believe it is like this:
    Keep refining each (rb)(Ray bundle size) to target this (nt)Noise Threshold until either the (ms)Max. subdivs or (rt)Render time limit are reached.

    If this is the case, and nt is too high and gets achieved before ms or rt... that means it'll just keep refining anyway until the conditions of ms or rt get met. Right?

    So that means it IS NOT satisfied like this: Stop (rb) when (nt or ms or rt) are met, but instead like this: Stop (rb) when (ms or rt) are met.

    So nt is not a stop condition? Originally, I thought it was, but after it hits the specified nt, it tells you it hit it, but it just keeps going until rt hits.

    Question 2:
    Max Subdivs is NOT the same as Pass Level correct? Originally/logically I thought it was. So there is no way to stop a render after 50 passes?

    Question 3:
    If an area of the image achieves a noise level faster than another area does it skip that area from then on so it can continue to refine the rest?....or does this not happen because it does everything at the same level.

    Thanks in advance,
    -Joel E
    https://www.biglittlepictures.com

  • #2
    Q1:
    It's more like this:
    Keep refining each pixel until either the noise threshold or the max subdivs is reached for the pixel. If the time limit is reached, stop the whole render after the current pass finishes.

    The noise threshold and max subdivs are per-pixel limits, the time limit is global.

    So the noise threshold is indeed a stop condition, just like the max subdivs. The difference is that we start with a high threshold and lower it during the rendering. We call it "dynamic noise threshold" and it is so the noise is cleaned more uniformly during rendering, it doesn't affect the end result if you don't hit a time limit or stop the render manually.
    I think the confusion comes from the messages in the log. They specify the current target threshold, not the threshold that the pixels have reached.

    You can use the Sample Rate render element to see what's going on with each pixel.

    Q2:
    Yes, it's not the same. It was originally the same indeed but this was incorrect. The limit has to be applied per pixel because some pixels may be deactivated and then activated again, especially with the dynamic threshold described above.

    With a noise threshold you can't stop the render after a number of passes indeed but this wouldn't be really useful anyway. If you want a certain quality, change the nt and ms. If you want a result in a certain time, use the time limit. Number of passes as a stop condition is completely unpredictable with a noise threshold.
    If the threshold is 0 and the dynamic threshold is disabled (it's a hidden option), then they're in fact the same. The rendering is not adaptive in this case though.

    Q3:
    It works on a per-pixel level. If a pixel has reached at least one of the per-pixel limits it's not refined anymore.
    Radoslav Platikanov | Chaos R&D

    Comment


    • #3
      Great thanks for the explanations! I appreciate your time.
      -Joel E
      https://www.biglittlepictures.com

      Comment

      Working...
      X