Cycles_path_guiding tests

@kram10321 Could you share your scene?
this should not happen, so there might be something I need to fix.

1 Like

@sherholz

Path_guide_bounce_v2.blend (1.1 MB)

1 Like

@moony sorry I meant @kram10321 test scene.
Yours acts exactly as I would expect :wink:
The effect on the floor is really nice.

1 Like

Oops sorry - a bit hung over, didn’t read your post right :crazy_face:

2 Likes

Reflective Torus.blend (1.0 MB)
Reflective half-Torus.blend (988.2 KB)

Almost the same scene, corresponding to the two versions of the test

Note: both new methods cause a darker appearance, but RIS even more so than the roughness-based version.
I suspect it’s ironically for the same reasons why RIS yields better results in the tests. It also features more fireflies, which kinda suggests it actually finds more paths, but they are too tricky for it to properly figure them out.

1 Like

In this one, RIS is best for sure. So much more paths from the glossy orange Suzanne are found, not just on the floor, but also in the Suzanne shadow on the wall

Thank you for your amazing work! This is an impressive update. Previously PG didn’t work on surfaces with a brightness of 0, now it does. I’m very happy with the results, although the PG’s effect gets worse as the roughness of the surface decreases.I’m extremely happy with Cycles’ caustics in this less complex scene.

Old PG 500 samples 3min36s:


VMM+Roughness-Based 500 samples 5min35s:

VMM+Re-sampled Importance Sampling 500 samples 5min 49s:

Luxcore BIDIR 10min:

9 Likes

Nice, it now handles this scene better than LuxCore

1 Like

All radiance settings set to 0.0, 5 minutes time, ≈200 samples (did not check):

Diffuse Product

RIS (I like this one the most)

Roughness-based

3 Likes

Looking at the results so far, I also think RIS yields the best results. Caustics seem more focused and pronounced.

I’m wondering: do the glossy samplers only guide refractive paths, or also reflective paths, for more pronounced reflective caustics as well? Looking at the above test results I’m guessing the glossy path guiding excludes reflective paths?

3 Likes

I’m guessing the current implementation does reflective paths only, so no refractive paths (for translucent objects).

1 Like

You are right, translucent and transmissive materials are the next milestone when we figure out the right solution for diffuse + glossy opaque materials

8 Likes

Even without those things (which i’m also looking forward to), it looks like path guiding is already a game changer for cycles. Great work :+1:

4 Likes

@kram10321 I looked at the scene, and I can tell only one thing: “you are nuts ;)”
Crazy setup.
Interestingly, there is no obvious reason why it gets darker. It could be that it triggers a bug/inaccuracy in Cycles and how it combines light sampling with BSDF sampling (aka MIS).

Especially since diffuse product and roughness based are the same algorithms, but the latter only adjusts the guiding probability based on the avg. roughness of the material.

3 Likes

@ALL could you also try to test the effect on more of your daily used scenes?

Seeing advantages in hardcore scenes is easy but I would be also interested how it behaves in normal scenes (maybe with a little bit more bounces and less faked GI ;))

2 Likes

I tried the new techniques on my cottage scene - not such a dramatic difference. There are some semi glossy materials in there (the snow, the wooden door).

I’d say the noise on the snow is a bit more uniform for the latter techniques - slightly lower level of fireflies too. Snow does look a little brighter in the second two images as well.

Diffuse Only

RIS

Roughness Based

1 Like

Another scene with a mixture of glossy and diffuse materials (plus some volumetrics).

The noise pattern is different - but comparable between the two techniques. Only area I would say shows any improvement is the logo on the top of the arcade cabinet which shows slightly more detail on the second image.

Diffuse only

RIS

At least it is not worse. But this is still some really complex setup.
Btw. have you tried to increase the Russian roulette start depth (Advance-> Min Light bounces).

In this scene it looks like you have a lot of contributions from multiple bounces.
The standard setting for Min light bounces is 0 which means that you have a high chance that these path are stochastically terminated before reaching a light source regardless if you are using guiding or not.

I didn’t know about that. Here it is with 32 minimum bounces - seems a lot cleaner.

Yeah it is a feature everybody enables because it makes your rendering faster but everybody forgets or doesn’t know that it makes them also noisier.
Which, in some cases, can be A LOT noisier.