Stefan Werner Profile picture
Die Würde des Menschen ist unantastbar. Eigentum verpflichtet. Sein Gebrauch soll zugleich dem Wohle der Allgemeinheit dienen.

Mar 5, 2020, 8 tweets

Thanks to Brecht for reviewing my patch, adaptive sampling has now landed in #b3d #Blender #Cycles.

For those interested in details:
It is following the approach outlined in sections 7.1.3 and 7.2 of this paper describing RenderMan:
graphics.pixar.com/library/Render…

The error metric is from section 2.1 here: pdfs.semanticscholar.org/8329/759ae51c9…

In layman's terms: Every other sample is written to a separate buffer. By comparing this extra buffer to the main image buffer, the renderer can estimate convergence.

Pixels receive progressively more samples until a convergence threshold or sample count limit is reached.

Pixels directly adjacent to a pixel that has not converged yet will also get additional samples, so that the algorithm can pick up on features that are rare but still contribute significantly, such as caustics.

Note that, as outlined by Kirk and Arvo, adaptive sampling can introduce bias. This should not be an issue for most use cases though. It might become a concern when you combine several independent low-sample renders to a single high-sample render.

researchgate.net/profile/David_…

Now, for those who are hoping for impressive speed gains: Adaptive sampling means that "it depends" is not just a phrase but indeed the case here.

Scenes that are clean with just a few pockets of extreme noise should benefit the most, I have seen render times cut in half.

Scenes that have mostly uniform noise throughout will not benefit as much. Worst case, I would not rule out that there could be a slight performance degradation in rare scenarios where are all pixels need the full sample count.

Care has been taken to make sure this works with all supported backends: @intel and @AMD CPUs, @nvidia #CUDA and #OptiX, @openclapi for @Radeon GPUs.

Rendering with CPU+GPU may lead to uneven noise distribution when the scene is not given enough samples to become noise-free.

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling