BIDIRCPU can now use PhotonGI cache to render SDS paths

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

BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by Dade » Mon Dec 21, 2020 11:23 am

It is now possible to enable PhotonGI caustic cache with BiDirectional path tracing in order to render SDS paths:

sds.jpg

All the usual PhotonGI properties are available however PGI is used only for SDS paths like with hybrid path tracing+light tracing.

This feature is available on "for_v2.6" branch.
Support LuxCoreRender project with salts and bounties

User avatar
TAO
Developer
Posts: 371
Joined: Sun Mar 24, 2019 4:49 pm
Location: France
Contact:

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by TAO » Mon Dec 21, 2020 12:20 pm

Awesome news, Are there any limitations?
Omid Ghotbi (TAO)
Latest build Download link👇👇
https://github.com/LuxCoreRender/MaxToLux/releases
Last update information
https://forums.luxcorerender.org/viewto ... 378#p28378

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

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by Dade » Mon Dec 21, 2020 12:31 pm

TAO wrote:
Mon Dec 21, 2020 12:20 pm
Awesome news, Are there any limitations?
Not that I'm aware of, it is really like using PhotonGI caustic cache with path tracing+light tracing.
Support LuxCoreRender project with salts and bounties

epilectrolytics
Donor
Posts: 720
Joined: Thu Oct 04, 2018 6:06 am

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by epilectrolytics » Mon Dec 21, 2020 2:25 pm

Thanks for this addition!
Dade wrote:
Mon Dec 21, 2020 12:31 pm
TAO wrote:
Mon Dec 21, 2020 12:20 pm
Awesome news, Are there any limitations?
Not that I'm aware of, it is really like using PhotonGI caustic cache with path tracing+light tracing.
Light tracing does not catch indirect caustics (DSD paths) and the caustic cache thus not DSDS paths.
BiDir can do those, but DSDS are slow; BiDirVM is way faster with these.
So what about BiDir + PGI cache, can it do reflected indirect caustics as well as BiDirVM?

Example scene:
Attachments
DSDS_LuxCore.zip
(117.75 KiB) Downloaded 26 times

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

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by Sharlybg » Mon Dec 21, 2020 7:43 pm

I isn't a bad add even if i think that Bidir should be safe from all the trial and error workflow. I mean Bidir should be a launch and forget robust and final ground truth ultimate reference.
It is also for this reason that people use Bidir very few settings and great precision.

Something in this range will be really great :

Image

https://cgg.mff.cuni.cz/~jaroslav/paper ... index.html
This paper describes the implementation of a fully automatic caustics rendering solution in Corona Renderer. The main requirement is that the technique be completely transparent to the user, should not need any parameter setting at all, and be fully integrated into the interactive and progressive rendering workflow. We base our approach on an efficient subset of the vertex connection and merging algorithm, specifically a multiple importance sampling combination of path tracing and photon mapping. We rely on Metropolis sampling to guide photon paths into the relevant parts of the scene. While these underlying ideas have appeared in existing research work, numerous previously unaddressed issues and edge cases arise when one applies these ideas in practice. These include unreliable convergence of the Metropolis sampler in scenes with many light sources of different sizes and intensities, the “caustic in a stadium” problem (i.e., efficient rendering of small caustics in extremely large scenes), etc. We present the solutions we have developed to address such issues, yielding what we call “one-click caustics rendering”. User feedback suggests that our approach substantially improves usability over methods previously implemented in comercially available software, all requiring the user to set various technical parameters.
Support LuxCoreRender project with salts and bounties

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

daros
Posts: 75
Joined: Thu Dec 12, 2019 3:25 pm

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by daros » Tue Dec 22, 2020 3:13 pm

Yes, i agree, bidir should be kept simple to use. A try and error approach works in a situation where you can tweak all other parameters in order to maximize speed. In a bidir situation, where you cannot tweak almost nothing, a try and error approach is uncomfortable because each rendering test takes ages.

User avatar
Dez!
Posts: 230
Joined: Sun Apr 08, 2018 1:09 am
Location: Ekaterinburg
Contact:

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by Dez! » Wed Dec 23, 2020 5:00 am

I also use BiDir as a reference point for glass and caustics. Just turned on BiDir and done. Then - tried to repeat in PathTrace.
I would not like to see tricks and tricks in BiDir. I also believe that it should remain as a way to "turn everything on for maximum realism and coolness" with one button.
Linux Plasma | Ryzen 5, 32Gb, SSD M2, GT 590 RX | BenQ 27 | Wacom One | Microsoft Ergo | Tie Guan Yin tea
http://dezigner.tilda.ws/

epilectrolytics
Donor
Posts: 720
Joined: Thu Oct 04, 2018 6:06 am

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by epilectrolytics » Wed Dec 23, 2020 10:34 am

BiDir was never a valid ground truth renderer because of the missing SDS reflections, except when using intersectable lights and rendering for 24 hours.
When this problem finally gets solved by adding PGI cache it is very welcome.
No one is forced to use this addition, it can be disabled by default.

The question is if PGI really will resolve all missing paths or only a subset like it does when used with hybrid path?
BiDirVM does render all kinds of reflected caustics, including those from indirect light, in reasonable time, but it is broken currently.

If caustic cache can be set up to do the same that would be a great advantage for everyone interested in realistic physically based rendering, no matter the additional parameters. It is quite possible that a default set-up will cover most cases.

User avatar
TAO
Developer
Posts: 371
Joined: Sun Mar 24, 2019 4:49 pm
Location: France
Contact:

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by TAO » Wed Dec 23, 2020 10:43 am

I totally agree with epilectrolytics, it is an option and can be disabled anytime. It's better to have it and not use it than need it and not have it.
Omid Ghotbi (TAO)
Latest build Download link👇👇
https://github.com/LuxCoreRender/MaxToLux/releases
Last update information
https://forums.luxcorerender.org/viewto ... 378#p28378

CodeHD
Posts: 408
Joined: Tue Dec 11, 2018 12:38 pm
Location: Germany

Re: BIDIRCPU can now use PhotonGI cache to render SDS paths

Post by CodeHD » Wed Dec 23, 2020 12:43 pm

epilectrolytics wrote:
Wed Dec 23, 2020 10:34 am
The question is if PGI really will resolve all missing paths or only a subset like it does when used with hybrid path?
What will remain problematic is specular-only paths, which would be necessary for example in the dispersive "fire" of a diamond or a chandelier.

Post Reply