Swimming pool / Underwater / Caustics

Use this forum for general user support and related questions.
User avatar
Dade
Developer
Developer
Posts: 2921
Joined: Mon Dec 04, 2017 8:36 pm

Re: Swimming pool / Underwater / Caustics

Post by Dade » Tue Apr 30, 2019 2:56 pm

lighting_freak wrote:
Tue Apr 30, 2019 2:54 pm
One more question from my side. You said SDS paths are impossible to render with BiDir...
But is it really impossible or just hard to render?
It is physically impossible if the light source is not intersectable (i.e. point light, etc.), practically very hard if it is (i.e. a lot of fireflies hard to clear).
Support LuxCoreRender project with salts and bounties

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

Re: Swimming pool / Underwater / Caustics

Post by B.Y.O.B. » Tue Apr 30, 2019 4:05 pm

lighting_freak wrote:
Tue Apr 30, 2019 2:54 pm
One more question from my side. You said SDS paths are impossible to render with BiDir...
But is it really impossible or just hard to render?
I'm wondering because the images look quite good, what are you missing?
Look at the underside of the water surface located in the top of this image: http://forums.luxcorerender.org/downloa ... &mode=view
It should contain a mirror image of the caustics below it, but it does not, apart from a few fireflies. For comparison look at the top of the PGI image: http://forums.luxcorerender.org/downloa ... &mode=view
The sun is an intersectible light source so in theory they can be rendered by Bidir, but not in any reasonable timeframe.
Support LuxCoreRender project with salts and bounties

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

Caustic Connection Strategies for Bidirectional Path Tracing

Post by FarbigeWelt » Wed May 01, 2019 9:35 am

Dade wrote:
Tue Apr 30, 2019 2:56 pm
It is physically impossible if the light source is not intersectable (i.e. point light, etc.), practically very hard if it is (i.e. a lot of fireflies hard to clear).
Maybe the memo from Pixar published by these authors
Sebastien Speierer, Christophe Hery, Ryusuke Villemin, Wenzel Jakob could be of interest.

They introduce an algorithm that helps BiDir with SDS issues. They claim their algorithm is easy to be implemented in current renderers.

Caustic Connection Strategies for Bidirectional Path Tracing, Technical Memo #18-01
160.8 | 42.8 (10.7) Gfp / Windows 10 Pro, intel i7 4770K@3.5, 32 GB | 2 AMD Radeon 5700 XT, 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

fabi
Posts: 7
Joined: Mon Apr 29, 2019 9:26 am

Re: Swimming pool / Underwater / Caustics

Post by fabi » Thu May 02, 2019 10:21 am

Hello,

I used the PhotonGI cache with B.Y.O.B. settings (radius 0.01) but increased the max number of photons to 100 million. In the terminal, the indicated number of traced photons was 16 million. In the top reflection on the water, we can see the caustics, but on the pool wall, the caustics are less thin than with Bidir.
piscine.luxcorerender.pathocl_photongi_radius0.01.100samples_gamma.jpg
PhotonGI cache, radius=0.01, max photons = 100M (Path+Sobol)
After that, I decreased the radius (0.001), the indicated number of traced photons was 30 million, and I seems that the image does not improve with the number of samples, it remains noisy. But the caustics are as thin as with Bidir.
Decreasing the radius to 0.0001 did not improve, the number of traced photons was less than with radius=0.001.
piscine.luxcorerender.pathocl_photongi_radius0.001.50samples_gamma.jpg
PhotonGI cache, radius=0.001, max photons = 100M (Path+Sobol)
Also, I had to deactivate the indirect GI cache, as it seemed to skip the caustics cache creation (always the same message in the terminal indicating 6 million of photons).

For this image (for me it's the final), I mixed the water reflection for the PhotonGI / radius 0.01 image, and the Bidir image in Gimp to have this.
piscine.luxcorerender.final_top_pathocl_photongi_bottom_bidir.jpg
Final image, top PhotonGI r=0.01 + bottom Bidir
Finally, having played with PhotonGI cache, I would have two feature requests:
- could we save the cache to reuse it without recalculating it, to play with the rendering engines settings for example ?
- could we select the object to target caustics ? In the swimming pool image, only the water surface has to be targeted, not the pool walls, which are big surfaces.

User avatar
epilectrolytics
Donor
Donor
Posts: 522
Joined: Thu Oct 04, 2018 6:06 am

Re: Swimming pool / Underwater / Caustics

Post by epilectrolytics » Thu May 02, 2019 12:13 pm

Looks great!
WRT caustic cache, lookup max count helps making smoother caustics but also bigger cache.
This thing is really difficult to tweak.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

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

Re: Swimming pool / Underwater / Caustics

Post by B.Y.O.B. » Thu May 02, 2019 4:59 pm

fabi wrote:
Thu May 02, 2019 10:21 am
Finally, having played with PhotonGI cache, I would have two feature requests:
- could we save the cache to reuse it without recalculating it, to play with the rendering engines settings for example ?
This is possible in the latest v2.2beta1 release: viewtopic.php?f=9&p=12621#p12610

Great results!
Support LuxCoreRender project with salts and bounties

CodeHD
Posts: 182
Joined: Tue Dec 11, 2018 12:38 pm

Re: Swimming pool / Underwater / Caustics

Post by CodeHD » Fri May 03, 2019 8:52 am

This inspired me to play around with blenders fluid and the caustics cache and get some own expereince :)

You can find an animation here:

https://owncloud.gwdg.de/index.php/s/ga5sP1BOBvk5QIh

Took me about 8 hours to render 240 frames. Cache build about 1 minute for each frame. Rendered to 20 Samples per image and used OIDN.

I also rendered some stills, and I also noticed the need for switiching off indirect cache. On the other hand, when the camera is outside the water, it is necessary to have it, as you can see int hese images (from top to bottom: underwater both caches, underwater casutic only, outside both, outisde caustic only). is that expected?
underwater_both.jpg
underwater_causticonly.jpg
outside_both.jpg
outside_causticonly.jpg

User avatar
epilectrolytics
Donor
Donor
Posts: 522
Joined: Thu Oct 04, 2018 6:06 am

Re: Swimming pool / Underwater / Caustics

Post by epilectrolytics » Fri May 03, 2019 4:21 pm

CodeHD wrote:
Fri May 03, 2019 8:52 am
This inspired me to play around with blenders fluid and the caustics cache and get some own expereince :)
Good choice of point of view, I feel like I need a towel after watching the clip :lol:
I also rendered some stills, and I also noticed the need for switching off indirect cache.
I've encountered that too and I think it is a bug.
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

Fox
Posts: 295
Joined: Sat Mar 31, 2018 11:17 am

Re: Swimming pool / Underwater / Caustics

Post by Fox » Sat May 04, 2019 4:42 am

VM is awesome. I think i finally nailed the settings for it.
Scene size is 5m
Camera field of view around 2.5m
I use start radius 0.003
Alpha 0.9996

I need to start with little bias and larger start radius to overcome the lack of MLT.
Also OIDN works with it.

I see if i can go to 10k passes without kernel crash. Some part of VM is locking up CPU real hard, sometimes you can't even move mouse cursor for a minute, and foobar2000 stops playing music.

Here is only small crop:
It's so awesome how light goes in water -> hits wall -> reflects to mirror -> reflects in glass where is mirror -> reflects on another wall -> from there back to water top surface.
Preview.jpg
Here is the scene 25mb:
https://drive.google.com/file/d/1TPX4nz ... sp=sharing

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

Re: Swimming pool / Underwater / Caustics

Post by Dade » Sat May 04, 2019 7:51 am

Fox wrote:
Sat May 04, 2019 4:42 am
I see if i can go to 10k passes without kernel crash. Some part of VM is locking up CPU real hard, sometimes you can't even move mouse cursor for a minute, and foobar2000 stops playing music.
You are likely to run out of memory, try to check the memory usage.
Support LuxCoreRender project with salts and bounties

Post Reply