Page 1 of 2

BIDIRCPU can now use PhotonGI cache to render SDS paths

Posted: Mon Dec 21, 2020 11:23 am
by Dade
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.

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

Posted: Mon Dec 21, 2020 12:20 pm
by TAO
Awesome news, Are there any limitations?

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

Posted: Mon Dec 21, 2020 12:31 pm
by Dade
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.

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

Posted: Mon Dec 21, 2020 2:25 pm
by epilectrolytics
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:

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

Posted: Mon Dec 21, 2020 7:43 pm
by Sharlybg
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.

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

Posted: Tue Dec 22, 2020 3:13 pm
by daros
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.

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

Posted: Wed Dec 23, 2020 5:00 am
by Dez!
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.

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

Posted: Wed Dec 23, 2020 10:34 am
by epilectrolytics
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.

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

Posted: Wed Dec 23, 2020 10:43 am
by TAO
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.

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

Posted: Wed Dec 23, 2020 12:43 pm
by CodeHD
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.