Path Space Regularization (aka the solution to SDS paths)

Discussion related to the Engine functionality, implementations and API.
provisory
Posts: 224
Joined: Wed Aug 01, 2018 4:26 pm

Re: Path Space Regularization (aka the solution to SDS paths)

Post by provisory » Sun Sep 15, 2019 8:45 pm

Dade wrote:
Sun Sep 15, 2019 2:07 pm
...The under water caustics looks good from the very beginning.
So it uses precalculation like PGI indirect cache.
Maybe it could be sharper if it used the info from the Light Tracing which runs continuously, parallel with the eye tracing.

... and I belive indirect cache could also benefit from this aproach:
- No waiting for precalculation
- Less biased result

Hmm, actually, what was the problem with the periodic solution?

User avatar
Dade
Developer
Developer
Posts: 3168
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Path Space Regularization (aka the solution to SDS paths)

Post by Dade » Sun Sep 15, 2019 9:43 pm

provisory wrote:
Sun Sep 15, 2019 8:45 pm
So it uses precalculation like PGI indirect cache.
Nope, it is already the version with periodic update. You can see the difference between the 10 samples/pixel version and the 250. The first one is more "splotchy".
provisory wrote:
Sun Sep 15, 2019 8:45 pm
- No waiting for precalculation
Yes, with periodic update, you don't need pre-processing.
provisory wrote:
Sun Sep 15, 2019 8:45 pm
- Less biased result
The look up radius is always the same at the moment but it could be reduced in a Vertex Merging-like style (or PSR while working with space instead of angles, it is the same).
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1626
Joined: Fri May 04, 2018 5:16 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by lacilaci » Mon Sep 16, 2019 1:38 pm

Hey,
testing very latest 2.3

I'm trying values like scale 1000 and speed of 0.9999 instead of 0.99999998 and I'm starting to actually see them converging.. Though it's still somewhat dark and wrong :D

this is scale 10 and speed of 0.99999
cas.jpg
it almost feels like a good balance could make this work, but something is still off...
this is several passes later...
cas2.jpg
at some point it just turns wrong :D

User avatar
epilectrolytics
Donor
Donor
Posts: 561
Joined: Thu Oct 04, 2018 6:06 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by epilectrolytics » Mon Sep 16, 2019 1:58 pm

Dade wrote:
Mon Sep 09, 2019 6:53 am
PSR is used only for SDS paths in light tracing (on the last path vertex <=> eye connection).
Question1: Is it possible to use PSR to "complete" LightCPU (= render specular surfaces via PSR) and if so, will it be implemented there?
Question2: Is it still planned to fix and release BiDirVM or does the PSR development mean that a "BiDirPSR" is possible and if so will it be implemented and released?
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
Dade
Developer
Developer
Posts: 3168
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Path Space Regularization (aka the solution to SDS paths)

Post by Dade » Mon Sep 16, 2019 1:59 pm

lacilaci wrote:
Mon Sep 16, 2019 1:38 pm
I'm trying values like scale 1000 and speed of 0.9999 instead of 0.99999998 and I'm starting to actually see them converging.. Though it's still somewhat dark and wrong :D
Try 0.99999997 Vs 0.99999998: the first doesn't work, the second does (note: it may be scene related), it tells you a lot about the problem Metropolis has to find the right paths and how difficult is the problem to crack.

This is related to the smaller mutation Metropolis can do at the moment: "1/512" (https://github.com/LuxCoreRender/LuxCor ... is.cpp#L66)
I have tried to change the mutation strategy but without success until now.

About the darkness, it should be a different problem. The "smoking gun" is just try to render the pool scene with a flat plane for water and a "glass" material with 1.0 for reflection and transmission: the under water brightness should be exactly the same of the over-water ... but it is a quite darker.
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Developer
Posts: 3168
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Path Space Regularization (aka the solution to SDS paths)

Post by Dade » Mon Sep 16, 2019 2:03 pm

epilectrolytics wrote:
Mon Sep 16, 2019 1:58 pm
Question1: Is it possible to use PSR to "complete" LightCPU (= render specular surfaces via PSR) and if so, will it be implemented there?
Light CPU alone ? Yes, it is shown in the first posts where the mirror was rendered with LIGHTCPU using PSR (however it is very hard).
epilectrolytics wrote:
Mon Sep 16, 2019 1:58 pm
Question2: Is it still planned to fix and release BiDirVM or does the PSR development mean that a "BiDirPSR" is possible and if so will it be implemented and released?
BiDirPSR may be possible. Fixing BiDirVM may be simpler, anyway it will happen only after the dust settle down on the battle for SDS paths: PSR Vs. VM Vs PGI.
Support LuxCoreRender project with salts and bounties

User avatar
lacilaci
Donor
Donor
Posts: 1626
Joined: Fri May 04, 2018 5:16 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by lacilaci » Mon Sep 16, 2019 2:07 pm

Dade wrote:
Mon Sep 16, 2019 1:59 pm
lacilaci wrote:
Mon Sep 16, 2019 1:38 pm
I'm trying values like scale 1000 and speed of 0.9999 instead of 0.99999998 and I'm starting to actually see them converging.. Though it's still somewhat dark and wrong :D
Try 0.99999997 Vs 0.99999998: the first doesn't work, the second does (note: it may be scene related), it tells you a lot about the problem Metropolis has to find the right paths and how difficult is the problem to crack.

This is related to the smaller mutation Metropolis can do at the moment: "1/512" (https://github.com/LuxCoreRender/LuxCor ... is.cpp#L66)
I have tried to change the mutation strategy but without success until now.

About the darkness, it should be a different problem. The "smoking gun" is just try to render the pool scene with a flat plane for water and a "glass" material with 1.0 for reflection and transmission: the under water brightness should be exactly the same of the over-water ... but it is a quite darker.
how about scale...? Default appears to me as if it's just too small and caustics start even disappearing..

clamping seem to skew the results even though it shouldn't affect lighttracing
unclamped
unclamped.png
clamped
clamped.png
You might think it's the other way around but no, unclamped rendering doesn't even show caustics..

Another value that messes up things a lot is lighttracing glossiness threshold.. too low and too high values will completely change how caustics are distributed in the scene..

User avatar
epilectrolytics
Donor
Donor
Posts: 561
Joined: Thu Oct 04, 2018 6:06 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by epilectrolytics » Mon Sep 16, 2019 2:08 pm

Dade wrote:
Mon Sep 16, 2019 2:03 pm
it will happen only after the dust settle down on the battle for SDS paths: PSR Vs. VM Vs PGI.
That sounds reasonable, thanks for the prospect!
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, 2 x RTX 2070

User avatar
lacilaci
Donor
Donor
Posts: 1626
Joined: Fri May 04, 2018 5:16 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by lacilaci » Mon Sep 16, 2019 2:14 pm

Damn... at some point the caustics look really really good (and very fast!) aside the weird underwater darkness... This could be so good.

User avatar
lacilaci
Donor
Donor
Posts: 1626
Joined: Fri May 04, 2018 5:16 am

Re: Path Space Regularization (aka the solution to SDS paths)

Post by lacilaci » Mon Sep 16, 2019 2:24 pm

so a scale of 1000 and speed of 0.9999 makes my pool get darker... but a speed of 0.99998 wil make it go always brighter and overblown

EDIT: nope.. it will go dark eventually :D

Post Reply