Cycles_path_guiding tests

Are your scenes available to download?

Here you go:

Path_guide_bounce.blend (1.0 MB)

Perhaps give that a try GPU vs CPU+PG, your GPU is much more powerful than mine.

Path Guiding update from Sebastian:

I started working on RIS as an alternative path guiding integration this should allow to also guide on glossy surfaces with and without depending on a diffuse component.
I will push it to the cycles_path_guiding branch as soon as I have an initial working version for testing.
I will notice the community in the test thread as soon as it is pushed and experimental builds are ready.

7 Likes

Ooh, nice! Is that the same RIS technique that Renderman uses?

In Renderman RIS stands for Rix integration Subsystem which was their switch from the older REYES rendering system to an integrator based one (e.g., path tracer).

The RIS I meant is Re-sampled Importance Sampling, where you take sample candidates (e.g., BSDF and guiding distriubtion) and pick one of it based om some target function (e.g., BSDF*incoming radiance approx).

16 Likes

Sounds good, thanks for the info. :+1:

1 Like

Thanks. Here is a 10s render, from top to bottom: CPU (Threadripper 1920X), CPU + path guiding, GPU (RTX 3060)

4 Likes

1m render CPU with guiding and denoising. Pretty much usable.

6 Likes

How long would it take on GPU to get close?

Do you consider using RIS in volumes in the future too?
I was looking up RIS with the context of path guiding and found this paper about homogeneous volumes and translucent materials, and the results look promising:
I assume you know about it since you are cited in it :slight_smile:

1 Like

Hi @silex
For volumes, we already use the real product presented in the zero-variance-based volume path guiding paper (https://cgg.mff.cuni.cz/~jaroslav/papers/2019-volume-path-guiding/index.html)

The paper you are referring to is based on the directional quadtree representation, which is unable to calculate the product in closed form. We, on the other hand, use parametric mixtures which support product approximations for simple distributions such as HG phase functions.

3 Likes

Can someone explain to me why path guiding was built to run on the CPU first instead of GPU?

CPU code is easier to write

7 Likes

And the fact it was implemented by Intel employees might have played a role as well.

1 Like

GPU (RTX 3060) with Optix denoising (albedo & normals), 1m:

1 Like

GPU (RTX 3060) 9m25s (50.000 samples), denoised:

4 Likes

Interesting thanks. I think this really does show of the power of path guiding in certain situations.

Hopefully the upcoming solution to include glossy rays will only make this better.

Intel’s technology (OIDN, Embree, OpenPGL) almost impresses me to the point of wanting to ditch Ryzen and go back to Intel Inside (if only their 24-core Raptor Lake chips did not require such beefy cooling by default for the purpose of getting their crown back).

Since it turns out their libraries do not have secret performance switches that only work with the i-series, it is their loss if AMD continues to win on TDP.

1 Like

To be honest, I thought that you where hyperbolic when you praised path guiding this much, but looking at the results now I realize that I was wrong and you where right.

Don’t even think about it…they have to pay for what they did to us a couple years ago when they abused their monopoly, and better TDP (and general prize) is reason enough to stay on the Ryzen hypetrain.
I wish I could say the same about Nvidia GPU’s and AMD GPU’s…
I have an ice-cold dish in my freezer and Nvidia’s name is on it, but the time isn’t there yet…

1 Like

It should only get better too - there is an implementation being worked on currently that will path guide glossy rays as well as diffuse.

Hopefully there will be a branch build available pretty soon so we can start testing this.

2 Likes