Quasirandom sampler

Discussion related to the Engine functionality, implementations and API.
User avatar
alpistinho
Developer
Developer
Posts: 136
Joined: Thu Jul 05, 2018 11:38 pm
Location: Rio de Janeiro

Re: Quasirandom sampler

Post by alpistinho » Wed Mar 06, 2019 11:42 am

Things are looking better, but there are plenty of visible patterns indeed for now.
Screenshot from 2019-03-06 08-41-10.png
Support LuxCoreRender project with salts and bounties

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

Re: Quasirandom sampler

Post by alpistinho » Wed Mar 06, 2019 11:55 am

I think it is converging to the right solution now. It also helps when you don't calculate the same constant every time =p
Screenshot from 2019-03-06 08-54-13.png
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Developer
Posts: 2388
Joined: Mon Dec 04, 2017 8:36 pm

Re: Quasirandom sampler

Post by Dade » Wed Mar 06, 2019 12:01 pm

alpistinho wrote:
Wed Mar 06, 2019 11:55 am
I think it is converging to the right solution now. It also helps when you don't calculate the same constant every time =p
Now you have to establish if it is of any use :mrgreen:

Does it converge faster than Sobol sampler (i.e. less noise in the same amount of samples) ?

P.S. people will endless complain about patterns at the start but it may be still of some use if it is noticeably better than Sobol.
Support LuxCoreRender project with salts and bounties

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

Re: Quasirandom sampler

Post by lacilaci » Wed Mar 06, 2019 12:02 pm

Is there a build to test this out?

PS: patterns only matter if it throws off denoiser (this could damage preview quality)
Last edited by lacilaci on Wed Mar 06, 2019 12:03 pm, edited 1 time in total.

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

Re: Quasirandom sampler

Post by alpistinho » Wed Mar 06, 2019 12:03 pm

Dade wrote:
Wed Mar 06, 2019 12:01 pm
Now you have to establish if it is of any use :mrgreen:

Does it converge faster than Sobol sampler (i.e. less noise in the same amount of samples) ?

P.S. people will endless complain about patterns at the start but it may be still of some use if it is noticeably better than Sobol.
I still think there are some other stupid mistakes on the code, just not as severe.

I will try to do some comparisons to see if it is any better, but at least the samples/second metric is bit higher.
Support LuxCoreRender project with salts and bounties

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

Re: Quasirandom sampler

Post by alpistinho » Wed Mar 06, 2019 12:13 pm

lacilaci wrote:
Wed Mar 06, 2019 12:02 pm
Is there a build to test this out?

PS: patterns only matter if it throws off denoiser (this could damage preview quality)
I can send you my build files if you really want, but I don't know if it is of any use
Support LuxCoreRender project with salts and bounties

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

Re: Quasirandom sampler

Post by lacilaci » Wed Mar 06, 2019 12:16 pm

alpistinho wrote:
Wed Mar 06, 2019 12:13 pm
lacilaci wrote:
Wed Mar 06, 2019 12:02 pm
Is there a build to test this out?

PS: patterns only matter if it throws off denoiser (this could damage preview quality)
I can send you my build files if you really want, but I don't know if it is of any use
Actually now that I think about it, I would need to have the sampler exposed in blender to properly test that.

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

Re: Quasirandom sampler

Post by B.Y.O.B. » Wed Mar 06, 2019 12:24 pm

lacilaci wrote:
Wed Mar 06, 2019 12:16 pm
Actually now that I think about it, I would need to have the sampler exposed in blender to properly test that.
You just have to edit this line in export/config.py: https://github.com/LuxCoreRender/BlendL ... fig.py#L40
Instead of the variable sampler, pass the string directly.
Alpistinho has called the new sampler "R2": https://github.com/LuxCoreRender/LuxCor ... 0fa71R1342

So you write:

Code: Select all

	definitions.update({
            "renderengine.type": luxcore_engine,
            "sampler.type": "R2",
            "film.width": width,
            "film.height": height,
            # ...
After this, you can test the new sampler in final renders only (F12).
Support LuxCoreRender project with salts and bounties

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

Re: Quasirandom sampler

Post by lacilaci » Wed Mar 06, 2019 12:30 pm

Great, so if there is a build I'm willing to give it a go.

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

Re: Quasirandom sampler

Post by alpistinho » Wed Mar 06, 2019 12:43 pm

The pyluxcore.pyd file is not being built by default on my environment it seems. I will have a look at this when the sampler is working a little bit better.

Right now I believe all threads are producing the same sequence, so there is pretty low-hanging fruit to improve
Support LuxCoreRender project with salts and bounties

Post Reply