Cycles_path_guiding tests

Seems to work, thank you!

I think it only works with CPU for now right

Btw, you uploaded this with AgX and without Filmic.
Not a problem to me but I’m guessing that might confuse some people who aren’t yet aware of AgX.

1 Like

Yes its CPU only now.
I think we should make a new thread in the test section, for further renderings to not clutter the thread here.

I created a new thread in the test section.Maybe a moderator want to push the path guiding testrenderings in this new thread,to clean this a bit up.


something a little more fun:

pg off:

pg on:

All my beauty and the beast fan art will be much easier to render now! :stuck_out_tongue: :rose:


Ok based on this one scene at least, it looks like it takes about 50% longer to render, which is quite a lot, but then it really isn’t, considering it’d have taken literal ages to render this with that much clarity before. If it had ever happened.
This is a huge step forward. Very glad Cycles is getting this!


Not only that, but this is using an early version of OpenPGL. If it goes the same way as OIDN, then we should only see better results in the future (in the same timeframe).

1 Like

Trying to do prism caustics

MNEE was not capable of doing this

Also it seems for now MNEE and Path Guiding are not working together just yet, as enabling MNEE will cause some PG caustics to disappear.

Imagine having future spectral branch with dispersion along with this. This is cool.


In order to get a better sense of what PG has to offer compared to what’s there today, it would be better to use the “Time Limit” option for rendering instead of the sample count. Compare what a 1 minute render looks like with PG off and then on etc. It will also help you discover cases like you observed above where the cost per sample is higher with PG etc.

It will yield better insight into the actual cost for typical scenes and is much more relatable since sample counts vary from scene to scene. All that matters sometimes is that you have a budget of “x” for each frame, so evaluate what can be achieved after rendering for “x” time.


Time Limit 60 seconds:
Without PG:

With PG:

Without PG with MNEE:

With PG with MNEE:

MNEE overwrites the refractive result when both PG and MNEE are on. And MNEE is not finding the right path I think, MNEE is producing the wrong result. This is rather interesting.


What is MNEE?

This should be posted as bug report,if the branch gets into the master.
The refraction calc inclusive the ray exit angle should be not that hard.

Since @sherholz is working on this PG,maybe he is not aware of the nested dielectrics problem.If this gets fixed too, it would increase the realisim of lighttransport in glass and liquids even more.

Manifold Next Event Estimation…essentially, it’s a caustics solver. It was added to master as a “shadow caustics” feature a few weeks ago.

1 Like

What should be a bug report?

Path Guiding is finding the correct result while MNEE is struggling, I don’t understand what bug report can be made from this?

(Also just to clarify, Path Guiding is also struggling in some cases where MNEE shines)

That MNEE is struggling?Its obvious the wrong refractive+ray exit result.And that it overrides the PG ray direction.

I believe it is part of the development to get MNEE work with PG.

I think MNEE was said to disable the paths it is using to prevent Filter Glossy from blurring them, so that MNEE can work with non-zero Filter Glossy. I guess it also disable those paths for PG now, I think they might need to not disable it for PG or something? I think this is part of the later development.

MNEE is very limited, in that it only works in shadow, it has mesh geometry artifacts in the caustics, it doesn’t work with volumes at all, it doesn’t work if the mesh is not shade smoothed, etc… I have made some reports about these but it has become clear that all of these are simply limitation of the algorithm. It is said that they want to expand it to SMS (Specular Manifold Sampling) in the future to get rid of these limitations, but who knows when… I think we can only accept that MNEE would produce the wrong result sometimes due to the limitation of the algorithm. It has become clear to me that MNEE is more of a “trick”, so I kind of expect some artifact from MNEE now.

1 Like

Quick and dirty test - no path guiding vs path guiding (default values) - same render time (30 seconds).

This test bumps the path guiding probabilities to 1 (default is 0.5). Caustics are much brighter.


@moony could you share the scene?
Do you have light clamping on?

It’s just the default monkey with a simple glass shader applied - a point light and a ground plane. Clamp indirect is 10, clamp direct is zero.

Here is a test of reflective caustics - same setup as above, but with a simple zero roughness glossy shader on a half cylinder.


@moony to get to an honest result you need to disable direct and indirect light clamping, or at least put it to a much higher number.
Also, the sampling probabilities should stay at 0.5 (this is currently a dev option which will be removed in the future.)


If you want the most out of your caustics I recommend turning that off: caustics are prove to being much brighter, so limiting them at 10 is gonna dull them quite a bit

Very cool tests though

some tests


@kram10321 the situation is a little bit different.
The final value (the average of all samples) of a caustic can be below 10.0.
Because the sampling process usually has a high variance (the samples fluctuate strongly around the mean value) clamping the individual samples lower their mean value (making the image darker).

If you are now using path guiding or any other advanced sampling method the variance is usually lower (much closer to the mean value) and clamping has a less strong or even no effect.

1 Like