← All ideas
  • Published 3 Jan 2019

Adaptive sampling based on pixel error %

Adaptive sampling based on pixel error %

90.9%

Development Status: Open

Upvote 10 Downvote 1
3di
3 Jan 2019

4 Comments

testure

What's your proposal, specifically? Pretend I'm a developer and describe to me how this feature looks when it's finished. How should it work? Is there a white-paper somewhere discussing it? As is, your proposal isn't going to gain much traction.

1
3di Author

@testure:

It's not a user feature, rather an algorithm to automatically adjust the number of samples per pixel based on the error level of each pixel. For example I'm currently rendering an outdoor scene which has a van with it's back doors open. because not much light is getting into the van from the HDRI which is lighting the scene, the inside of the van needs a lot of samples to get clean enough for the denoiser to work. The problem is if I set the samples high enough for the inside of the van (say 2000 samples), then all of the scene has to use the same amount of samples...even though the majority of the pixels in the scene only need 256 samples to clean up. So basically, compared to other render engines such as redshift, Vray, Fstorm, Octane, Cycles is taking 10 times longer than it needs to, just because there's no adaptive sampling. The other engines have noise thresholds, so that if a pixel reaches an acceptable noise level(error threshold) , the engine stops sampling that pixel and moves onto the next one.

Basically only the squeeky wheel needs to be getting the oil.

1
lsscpp

@tibbyninja: So this is somewhat a description of what adaptive sampling is (and you could put it into the description). But @testure asked for something more (something that is what this site is all about): he/she said "How should it work?", not "What does it do?"

2
Josephbburg

I'm assuming you mean pixel variance, which is when a renderer continues to sample until it reaches a threshold. This is a feature in many renderers, including open source LuxCore. I'd love to see it in Cycles.