Adaptive sampling improvements

Discussion related to the Engine functionality, implementations and API.
User avatar
epilectrolytics
Donor
Donor
Posts: 570
Joined: Thu Oct 04, 2018 6:06 am

Re: Adaptive sampling improvements

Post by epilectrolytics » Fri May 17, 2019 8:41 pm

lacilaci wrote:
Fri May 17, 2019 10:38 am
I have a complex area - that has noise which never goes away
Just wildly guessing here -
wherever there are glossy/coated/metal materials in a scene they throw noise from reflective caustics all over the place and this is only slowly to resolve by path tracing.
Now the converging speed on a certain surface may not be correlated with the noise level - depending on what reflective item creates the caustics and where.
And when there are less noisy areas taking actually longer to converge adaptivity won't help.

I'm waiting for glossy and metal getting included in caustic cache - theoretically that might help solving this.
Blurry reflections work well with big merge radius = small caustic cache not slowing down things too much.
But maybe I'm wrong about this...
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
lacilaci
Donor
Donor
Posts: 1637
Joined: Fri May 04, 2018 5:16 am

Re: Adaptive sampling improvements

Post by lacilaci » Sat May 18, 2019 5:14 am

Maybe, maybe the ability to clamp indirect rays only would help too. Clamping helps in my case but the very strong direct light begins to look weird right away.

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Sun Oct 13, 2019 4:02 am

Hi,

I am working on getting the convergence and noise tests to use arbitrary image pipelines. (https://github.com/Alpistinho/LuxCore/c ... 82c7dc99b2)
I will try then to get OCIO integrated so we can replicate the Blender filmic tonemapping internally and get the adaptive sampling to work as intended inside Blender.

Currently, the adaptive is working directly on the output without gamma correction and tonemapping, causing the overexposed samples to be sampled continuously. Without tonemapping, there is no actual overexposure
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1637
Joined: Fri May 04, 2018 5:16 am

Re: Adaptive sampling improvements

Post by lacilaci » Sun Oct 13, 2019 7:19 am

alpistinho wrote:
Sun Oct 13, 2019 4:02 am
Hi,

I am working on getting the convergence and noise tests to use arbitrary image pipelines. (https://github.com/Alpistinho/LuxCore/c ... 82c7dc99b2)
I will try then to get OCIO integrated so we can replicate the Blender filmic tonemapping internally and get the adaptive sampling to work as intended inside Blender.

Currently, the adaptive is working directly on the output without gamma correction and tonemapping, causing the overexposed samples to be sampled continuously. Without tonemapping, there is no actual overexposure

Oh, wow... So finaly a proper adaptive sampling. Can't wait!

User avatar
Dade
Developer
Developer
Posts: 3249
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Adaptive sampling improvements

Post by Dade » Sun Oct 13, 2019 8:25 am

In theory (because run OIDN can be expansive and it is also a totally uncharted territory), you can use an image pipeline with the denoiser and factor denoising in sampling adaptiveness.

More samples will be spent where the Denoiser needs (not always the denoiser needs more samples where there is more noise) ... which is border line science fiction :!:
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Fri Oct 18, 2019 5:24 pm

This is a bit on hold, since I am without access to my usual environment and getting OCIO to compile on my Windows notebook has been a struggle.

However, I guess I could try implementing the BlendLuxCore part to enable better working adaptive rendering when using some of the current imagepipeline plugins. It would not work with the filmic ones, but I guess that would be a good first step.
Support LuxCoreRender project with salts and bounties

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Fri Oct 25, 2019 3:31 am

I've fixed a bug in the film pipeline selection and implemented a hard coded extra image pipeline on BlendLuxCore (with a big helping hand from B.Y.O.B)

Would you be able to test to see if the adaptiveness is working better now?

Notes:
  • Please disable Blender's color management (Filmic), so what you see is the same Lux is using for calculating the noise
  • You have to use a build generated after my last commit to GitHub
Support LuxCoreRender project with salts and bounties

marcatore
Donor
Donor
Posts: 329
Joined: Wed Jan 10, 2018 8:04 am

Re: Adaptive sampling improvements

Post by marcatore » Fri Oct 25, 2019 6:51 am

Sorry for the dumb question.
With this film pipeline, could we have the same color results between blender output and network rendering output?
At the moment, it seems that Blender applies something that changes colors and the output are different.

Could your develop solve this issue? Or am I completely wrong?

User avatar
lacilaci
Donor
Donor
Posts: 1637
Joined: Fri May 04, 2018 5:16 am

Re: Adaptive sampling improvements

Post by lacilaci » Fri Oct 25, 2019 7:50 am

Gotta lot of work...

But I'm doing some quicktests right now... I don't need to enable anything besides adaptivity in your blendluxcore right?

so far it seems that adaptivity is DEFINITELY picking up visible noise(in this case gi/shadow areas) much much better.
Annotation 2019-10-25 095202.jpg
unless there's visible sky... what?
Annotation 2019-10-25 100225.jpg

User avatar
alpistinho
Developer
Developer
Posts: 168
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Adaptive sampling improvements

Post by alpistinho » Fri Oct 25, 2019 2:33 pm

Thanks for testing!

I will try to replicate that. Of you have some scene that shows up the issue, feel free to share.
Support LuxCoreRender project with salts and bounties

Post Reply