Memory use is 18GB (with ocean modifier resolution 90), windows uses 6GB and free is 104GB. With VM it looks like CPU won't let any threat free, but there is fix for it, keep one threat free (do it before loading up scene, or it may crash):
Swimming pool / Underwater / Caustics
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Re: Swimming pool / Underwater / Caustics
Re: Swimming pool / Underwater / Caustics
It is the Windows scheduler to be really bad, we have some "yield()" around the code to alleviate the problem: https://github.com/LuxCoreRender/LuxCor ... ad.cpp#L90Fox wrote: ↑Sat May 04, 2019 2:38 pm Memory use is 18GB (with ocean modifier resolution 90), windows uses 6GB and free is 104GB. With VM it looks like CPU won't let any threat free, but there is fix for it, keep one threat free (do it before loading up scene, or it may crash):
luxcoreui processor affinity.png
But I guess photon update code in BiDirVM has none.
Re: Swimming pool / Underwater / Caustics
I still have to play around with BiDirVM, but I did play around a bit more with waves, this time using a plane with "dynamic paint" instead of fluid.
I osciallted a ball (with Null material for the rendering) inside it to create waves. I also made a version with two balls to get interference, which worked quite well.
Here are some videos:
https://owncloud.gwdg.de/index.php/s/Hv22Gr1XGCUO87T
https://owncloud.gwdg.de/index.php/s/HBYllOINYuckDRf
And some stills in higher resolution, also adding dispersion for the water IOR. First, to show the setup:
A render using BiDir, which does well on the interference but not the water surface as discussed in this thread. 1 hour render Time in 4K.
The with casutics cache: I couldn't really get good settings that didn't take too long. Also, with the only light source being Sun from overhead, there is no illumination of the walls. But the refelctions of the water surface aren't too bad. A bit noisy, and OIDN does barely anything in this case.
So finally, to work around the problem, a combination of the two. The black wall rendering makews it easy to define where to cut the images.
Now I am missing textures for the pool
I osciallted a ball (with Null material for the rendering) inside it to create waves. I also made a version with two balls to get interference, which worked quite well.
Here are some videos:
https://owncloud.gwdg.de/index.php/s/Hv22Gr1XGCUO87T
https://owncloud.gwdg.de/index.php/s/HBYllOINYuckDRf
And some stills in higher resolution, also adding dispersion for the water IOR. First, to show the setup:
A render using BiDir, which does well on the interference but not the water surface as discussed in this thread. 1 hour render Time in 4K.
The with casutics cache: I couldn't really get good settings that didn't take too long. Also, with the only light source being Sun from overhead, there is no illumination of the walls. But the refelctions of the water surface aren't too bad. A bit noisy, and OIDN does barely anything in this case.
So finally, to work around the problem, a combination of the two. The black wall rendering makews it easy to define where to cut the images.
Now I am missing textures for the pool
Re: Swimming pool / Underwater / Caustics
The textures I used can be downloaded here: https://www.sketchuptextureclub.com/tex ... pool-tiles
I took 15700, 15698 and 15697.
I took 15700, 15698 and 15697.
Re: Swimming pool / Underwater / Caustics
@ CodeHD
This caustics totally look like human eye iris.
This caustics totally look like human eye iris.
Re: Swimming pool / Underwater / Caustics
Nice, thank you for the link I can try to use them, they looked very good in your scene.fabi wrote: ↑Sat May 04, 2019 4:49 pm The textures I used can be downloaded here: https://www.sketchuptextureclub.com/tex ... pool-tiles
I took 15700, 15698 and 15697.
You're right, I didn't even notice...
Re: Swimming pool / Underwater / Caustics
Hi,
I played with LuxCore UI v2.2beta1 to use BIDIRVM render engine. I have the impression that it does not use a photon cache because it does not load the file as with PathCPU. Is it normal ?
I played with LuxCore UI v2.2beta1 to use BIDIRVM render engine. I have the impression that it does not use a photon cache because it does not load the file as with PathCPU. Is it normal ?
Re: Swimming pool / Underwater / Caustics
Yes, BidirVM uses something like progressive photon mapping, it shoots photons all the time and their radius gets a bit smaller over time.
-
- Donor
- Posts: 790
- Joined: Thu Oct 04, 2018 6:06 am
Re: Swimming pool / Underwater / Caustics
Maybe it is a big mistake, but I looked into photongicache.cpp, and in the Preprocess() function, the value of params.visibility.lookUpRadius is different whether :
- indirect + caustics caches are enabled, params.visibility.lookUpRadius = Max(params.indirect.lookUpRadius, params.caustic.lookUpRadius); (line 493)
- only caustics cache is enabled, params.visibility.lookUpRadius = params.caustic.lookUpRadius; (line 501)
So when indirect and caustics caches are enabled, I understand that the caustics cache is computed with a number of visible objects which is inferior as it should be as normally indirect lookup radius is superior to caustics lookup radius, and so indirect lookup radius will be selected as it is the max.
I don't know if it can entirely explain the "bad" behavior when indirect and caustics caches are enabled, but it seems strange to me.
- indirect + caustics caches are enabled, params.visibility.lookUpRadius = Max(params.indirect.lookUpRadius, params.caustic.lookUpRadius); (line 493)
- only caustics cache is enabled, params.visibility.lookUpRadius = params.caustic.lookUpRadius; (line 501)
So when indirect and caustics caches are enabled, I understand that the caustics cache is computed with a number of visible objects which is inferior as it should be as normally indirect lookup radius is superior to caustics lookup radius, and so indirect lookup radius will be selected as it is the max.
I don't know if it can entirely explain the "bad" behavior when indirect and caustics caches are enabled, but it seems strange to me.