Adaptive sampling improvements

Discussion related to the Engine functionality, implementations and API.
provisory
Posts: 164
Joined: Wed Aug 01, 2018 4:26 pm

Re: Adaptive sampling improvements

Post by provisory » Sat Apr 20, 2019 9:04 pm

Dade wrote:
Sat Apr 20, 2019 8:40 pm
If BIDIRCPU+Sobol is faster than BIDIRCPU+Metropolis, you are probably rendering a scene that will converge even faster with PATHCPU+Sobol :?:
Bidir is often needed when the light is hard to reach (like the lamp scene with the lampshade), but shadow areas still converge faster with sobol. IMHO

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 10, 2019 10:07 am

I'm getting high samplecount in sky/background area, is this normal? I get low samplecount in background if I enable transparent film.

render:
full.png
samplecount with visible background:
samplecount_bgvisible.png
samplecount with hidden/transparent background:
samplecount_bgNOTvisible.png
EDIT: I also see high samplecount in reflection of the background, which in render is pretty much just white and noiseless...
Performance wise I don't see any advantage in using adpativity so far...

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

Re: Adaptive sampling improvements

Post by alpistinho » Fri May 10, 2019 10:51 am

Hi,

Are you using the tonemapping from blender, right?

The adaptiveness considers the tonemapping in it's algorithm, but only if it's being applied by Luxcore. In that case it's probably operating on the HDR image where these parts may very well be noisy.

Can you try using one of the internal tonamappers? I know filmic is not available yet but I intend to implement it.
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 10, 2019 11:15 am

alpistinho wrote:
Fri May 10, 2019 10:51 am
Hi,

Are you using the tonemapping from blender, right?

The adaptiveness considers the tonemapping in it's algorithm, but only if it's being applied by Luxcore. In that case it's probably operating on the HDR image where these parts may very well be noisy.

Can you try using one of the internal tonamappers? I know filmic is not available yet but I intend to implement it.
Hi,

I am using blender's tonemapping, however the background is not HDRI but a simple flat color in world settings. So there shouldn't be any noise at all

User avatar
B.Y.O.B.
Developer
Developer
Posts: 2809
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Adaptive sampling improvements

Post by B.Y.O.B. » Fri May 10, 2019 3:52 pm

You can check which tonemapping pipeline BlendLuxCore creates by looking in the terminal after the render. There is a line "LuxCore [numbers] Configuration:" followed by the config properties.
The imagepipeline properties start with "film.imagepipelines.", for example this is an output from one of my scenes:

Code: Select all

[LuxCore][1294.742]   film.imagepipelines.1.0.type = "INTEL_OIDN"
[LuxCore][1294.742]   film.imagepipelines.1.1.type = "NOP"
[LuxCore][1294.742]   film.imagepipelines.1.2.type = "TONEMAP_LINEAR"
[LuxCore][1294.742]   film.imagepipelines.1.2.scale = 0.0001500000071246177
[LuxCore][1294.742]   film.imagepipelines.1.radiancescales.0.enabled = 1
[LuxCore][1294.742]   film.imagepipelines.1.radiancescales.0.globalscale = 1
[LuxCore][1294.742]   film.imagepipelines.1.radiancescales.0.rgbscale = 1 1 1
[LuxCore][1294.742]   film.imagepipelines.0.0.type = "NOP"
[LuxCore][1294.742]   film.imagepipelines.0.1.type = "TONEMAP_LINEAR"
[LuxCore][1294.742]   film.imagepipelines.0.1.scale = 0.0001500000071246177
[LuxCore][1294.742]   film.imagepipelines.0.radiancescales.0.enabled = 1
[LuxCore][1294.742]   film.imagepipelines.0.radiancescales.0.globalscale = 1
[LuxCore][1294.742]   film.imagepipelines.0.radiancescales.0.rgbscale = 1 1 1
By default, BlendLuxCore creates an imagepipeline with tonemapping plugins. Blender's color management ususally doesn't play a big role (from the noise estimation perspective).
Support LuxCoreRender project with salts and bounties

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 17, 2019 8:57 am

Do different test step numbers affect adaptivity performance/quality? Like would it be better to use higher or lower numbers and why?

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 17, 2019 10:38 am

I have a complex area - that has noise which never goes away

And I wanted to try adaptivity but the differences are extremely small (some small objects are better defined but large noisy areas stay)
1 hour rendering

adaptivity on:
adaptivity_on.jpg
adaptivity off:
adaptivity_off.jpg

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 17, 2019 1:03 pm

I also don't understand why is that object(sink) getting most samples than anything else that is actually visibly noisy?
beauty1.png
samplecount.png

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

Re: Adaptive sampling improvements

Post by lacilaci » Fri May 17, 2019 1:09 pm

It is pretty much the same observation I made some time ago, before the improvements on adaptivity.

Adaptivity simply always prefers high power areas even if the noise is beyond visibility.

This is useless nobody cares about noise that is happening in ranges not even displayed. Am I not understanding something here? Is this actually correct behavior and somehow useful? I can see this helping with some caustics for example but wouldn't it make sense to have all the testing made after tonemapping or somehow forced to be done in visible noise??

This is super confusing for me so if I'm actually wrong please forgive me, but I just see no point in using adaptivity atm.

User avatar
FarbigeWelt
Donor
Donor
Posts: 778
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Adaptive sampling improvements

Post by FarbigeWelt » Fri May 17, 2019 6:51 pm

lacilaci wrote:
Fri May 17, 2019 1:09 pm
I just see no point in using adaptivity atm.
Well, you seem to be right the effect is small, Nevertheless comparison of different scenes showed a more convincing noise distribution with less ‚clumping‘ and in some cases even less noise.
Rendering is in contradiction to noise visibility in the meaning of compute distribution. Obviously areas with samples have more noise.

The current state of the adaptivity algorithm does not take in account yet that parts of an image require more samples if the sample count their count is below average count and their noise level is beyond average level. And what is important noise is visible in both cases dark and light and even in average light areas especially if an area is large and should be homogenous shaded.

You have to compare the noise pattern in your images. Adaptivity should have improved the shading noticably.
160.8 | 42.8 (10.7) Gfp / Windows 10 Pro, intel i7 4770K@3.5, 32 GB | AMD R9 290x+RX 5700 XT, 4/8 GB
17.3 | 19.0 ( 4.7) Gfp / macOS X 13.6, iMac 27'', 2010, intel i7 870@2.93, 24 GB | ATI Radeon HD 5750, 1 GB
#luxcorerender | Gfp = SFFT Gflops

Post Reply