Hybrid Back/Forward path tracing (aka BiDir without MIS)

Discussion related to the LuxCore functionality, implementations and API.
User avatar
Dade
Developer
Posts: 4678
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Dade » Mon Jun 24, 2019 10:15 am

I should have fixed the visibility of infinite lights (and in general of light sources hit by eye paths).

Important note: because Hybrid Back/Forward path tracing has still a strong path tracing component, it is often useful to disable the light visibility in specular paths to avoid many fireflies. This fact is was hidden by the bug I have fixed.

With visibility in specular paths on:

on.jpg

Visibility in specular paths off:

off.jpg

Alternatively, you can use variance clamping and/or Oidn but it is a lot faster and simpler to just disable the flag.
Support LuxCoreRender project with salts and bounties

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Dade » Mon Jun 24, 2019 10:24 am

epilectrolytics wrote:
Sun Jun 23, 2019 7:03 pm
While it works already great out of the box with the Wallpaper scene, in my pooltest scene everything is black apart from the tiles.
Looks like infinite lights are not supported yet
I should have fixed this problem (see above).
epilectrolytics wrote:
Sun Jun 23, 2019 7:03 pm
unlike BiDir no caustics are rendered in the water.
Like BiDir, no caustics are rendered in the water ... are you getting under water caustics out of BiDir ? Under water caustics are the very same definition of SDS paths.

I assume you were talking of PGI caustic cache, not BiDir.

P.S. the next step is hybrid GPU path tracing with CPU BiDirVM ... remember my axe :mrgreen:
Support LuxCoreRender project with salts and bounties

provisory
Posts: 231
Joined: Wed Aug 01, 2018 4:26 pm

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by provisory » Mon Jun 24, 2019 10:38 am

Dade wrote:
Sun Jun 23, 2019 5:34 pm
In your rendering I see a bug I need to fix: "ES*L" paths (eye => any number of only specular bounces => light are not rendered at the moment in Hybrid Back/Forward).
Have you managed to fix this too?

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Dade » Mon Jun 24, 2019 10:57 am

provisory wrote:
Mon Jun 24, 2019 10:38 am
Dade wrote:
Sun Jun 23, 2019 5:34 pm
In your rendering I see a bug I need to fix: "ES*L" paths (eye => any number of only specular bounces => light are not rendered at the moment in Hybrid Back/Forward).
Have you managed to fix this too?
Yes, the fix is part of my last "infinite lights" fix.
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Donor
Posts: 2282
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Sharlybg » Mon Jun 24, 2019 11:01 am

P.S. the next step is hybrid GPU path tracing with CPU BiDirVM ... remember my axe :mrgreen:
Do you mean BIDIRVM caustics quality while rendering on GPU ?
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by lacilaci » Mon Jun 24, 2019 11:04 am

Dade wrote:
Mon Jun 24, 2019 10:24 am

P.S. the next step is hybrid GPU path tracing with CPU BiDirVM ... remember my axe :mrgreen:
That bidirVM will actually render SDS right? So at that moment the caustic cache will no longer be needed.

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by B.Y.O.B. » Mon Jun 24, 2019 11:15 am

It looks to me like some reflections are missing when using hybrid back/forward, when compared to Bidir.
The images below were rendered for equal time (60 s), both on CPU only.
The scene is lit by one area light with default ray visibility (all enabled).
I am using the latest commit here (https://github.com/LuxCoreRender/LuxCor ... 5e79d366d5)

If you want I can upload the scene.
Attachments
Bidir + Metropolis
Bidir + Metropolis
Path with hybrid back/forward + Metropolis
Path with hybrid back/forward + Metropolis

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Dade » Mon Jun 24, 2019 12:32 pm

lacilaci wrote:
Mon Jun 24, 2019 11:04 am
Dade wrote:
Mon Jun 24, 2019 10:24 am
P.S. the next step is hybrid GPU path tracing with CPU BiDirVM ... remember my axe :mrgreen:
That bidirVM will actually render SDS right? So at that moment the caustic cache will no longer be needed.
Caustic cache could be modified to render only SDS paths so Hybrid+caustic cache produce the complete solution.

This is actually a pretty good idea I'm going to try.
Support LuxCoreRender project with salts and bounties

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by Dade » Mon Jun 24, 2019 12:32 pm

B.Y.O.B. wrote:
Mon Jun 24, 2019 11:15 am
If you want I can upload the scene.
Yes, thanks.

Side node: Hybrid uses always Metropolis sampler for light paths (it is just always better, doesn't make sense to use anything else) so it is better to use Sobol with GPUs (it will be used for the eye paths).
Support LuxCoreRender project with salts and bounties

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

Re: Hybrid Back/Forward path tracing (aka BiDir without MIS)

Post by B.Y.O.B. » Mon Jun 24, 2019 12:47 pm

B.Y.O.B. wrote:
Mon Jun 24, 2019 11:15 am
If you want I can upload the scene.
Here it is (220 MB): https://drive.google.com/open?id=1vS5v1 ... HYGO6DegDX

Post Reply