Page 1 of 1

Bidir vs Path

Posted: Wed Oct 31, 2018 2:02 am
by gecko
I realize there are fundamental differences in how bidir and path (and thus CPU vs GPU) process a scene, and that convergence on a solution will require different amounts of time depending on how the scene is lit (compounded by the fact that GPU is faster when the scene is optimized for it)... but I always assumed that ultimately the images should converge on roughly the same solution given enough time (ignoring any global illumination issues).

So here are two "simple" images rendered for 12+ hrs with the only difference that one used bidir and the other used path. Only lighting in the scene is a single sun/sky lamp. The syringes consist of a few different glass materials with volume priority correctly set, and tiny air gaps between all objects anyway. I realize that the existence of layers of different volume materials perhaps violates the definition of a simple lighting setup, but is this really the expected output of a path render? If so, I would suggest some additional restrictions on recommending path rendering "for scenes with simple lighting". Or did I just not understand how to set up such a scene for a path render?

Here's the bidir render, which is what I'd expect the scene to look like:
syringe_bidir_small.png
And here's what it looks like with path:
syringe_path_small.png
I tried all sorts of adjustments to get the path render to look "correct" (overlapping volumes with volume priority, completely air gapped volumes, turning subsurf modifiers on/off, etc), but it always looks like the render above. I typically use bidir for all my scenes anyway, but was excited about the idea of speeding things up by throwing my GPUs at it... Is there a fundamental reason this won't ever work?

Re: Bidir vs Path

Posted: Wed Oct 31, 2018 8:21 am
by Egert_Kanep
Maybe try to increase specular depth for path rendering, set it to 8 or more and see what happens

Re: Bidir vs Path

Posted: Wed Oct 31, 2018 8:47 am
by Dade
Egert_Kanep wrote: Wed Oct 31, 2018 8:21 am Maybe try to increase specular depth for path rendering, set it to 8 or more and see what happens
This, BiDir has a default of about 16 (8 eye path + 8 light path). Try to increase total and diffuse/glossy/specular max. depth to 16 in path too.

Re: Bidir vs Path

Posted: Wed Oct 31, 2018 9:40 am
by B.Y.O.B.
If the liquid directly touches the glass, you should not use air gaps. The meshes should overlap and the volume priority will take care to remove that overlap and create a correct glass-liquid border with correct IOR.

Re: Bidir vs Path

Posted: Fri Nov 02, 2018 1:37 am
by gecko
Egert_Kanep wrote: Wed Oct 31, 2018 8:21 am Maybe try to increase specular depth for path rendering, set it to 8 or more and see what happens
Wha! Thank you :) That was definitely the problem. So just out of curiosity, why does Path default to lower path depth than BiDir? I would naively assume the opposite - since Path is handicapped by only shooting rays from the camera, shouldn't it use more rays by default to make up for that?
B.Y.O.B. wrote: Wed Oct 31, 2018 9:40 am If the liquid directly touches the glass, you should not use air gaps. The meshes should overlap and the volume priority will take care to remove that overlap and create a correct glass-liquid border with correct IOR.
Thanks for confirming, I thought that was the current best approach. Was trying other options in case the overlapping volumes weren't working right (since I know that the air gap trick "works" even if it's not quite right). It's also a difficult habit to break since I've done it for so long...

Re: Bidir vs Path

Posted: Fri Nov 02, 2018 1:46 am
by B.Y.O.B.
gecko wrote: Fri Nov 02, 2018 1:37 am So just out of curiosity, why does Path default to lower path depth than BiDir?
Because longer paths = more noise.
And path is intended for more simple scenes than bidir anyway, so long paths should not be needed in most cases.