Light tracing and pool

Use this forum for general user support and related questions.
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Light tracing and pool

Post by lacilaci »

There is no way I can make visible pool caustics using light tracing? Some shady trick or setup?

Currently it's faster to fake caustics(sds-pool caustics) in cycles than render them using any method in luxcore.
cache caustics are super slow for large pool and so are bidir+metropolis (although those look good)
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Light tracing and pool

Post by lacilaci »

currently I cannot see them through water, cause it's sds paths I know...
caustics_visible_water.png
I can make them visible by hiding water body from camera.. but I get no refraction from water itself so I'm not sure how's that useful to me:
caustics_invisible_water.png
Maybe someone knows some trick to make this somewhat work?
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Light tracing and pool

Post by lacilaci »

the closest I could get is with lowered opacity on the water... but it looks a bit weak:
caustics_opacity_water.jpg
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Light tracing and pool

Post by lacilaci »

now here's bidir+metropolis, now these are fucking beautiful, probably only new corona can do these. But it would take forever:
bidirmetro.jpg
I guess we can't have lighttracing act in a similar way as bidir+metro?
User avatar
FarbigeWelt
Donor
Donor
Posts: 1046
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Light tracing and pool

Post by FarbigeWelt »

lacilaci wrote: Tue Aug 06, 2019 5:30 am currently I cannot see them through water, cause it's sds paths I know...
caustics_visible_water.png

I can make them visible by hiding water body from camera.. but I get no refraction from water itself so I'm not sure how's that useful to me:
caustics_invisible_water.png

Maybe someone knows some trick to make this somewhat work?
There is not any trick. But you could combine this two version each in a separate Blender layer and then select both layers for the rendering. I guess this way you get as close as you can get with current LuxCoreRender.

However, I miss angle shifting due to refraction. Actually objects should look like bend up below the water surface.
Light and Word designing Creator - www.farbigewelt.ch - aka quantenkristall || #luxcorerender
MacBook Air with M1
User avatar
FarbigeWelt
Donor
Donor
Posts: 1046
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Light tracing and pool

Post by FarbigeWelt »

lacilaci wrote: Tue Aug 06, 2019 5:35 am the closest I could get is with lowered opacity on the water... but it looks a bit weak:
caustics_opacity_water.jpg
Opacity is a no go. Opacity leads to an image made from one part with refraction and one part without refraction. This means if you point a laser with a certain angle between rectangular to surface and above total reflection you get two rays leaving a glass object with opacity: one straight, one refracted.
Light and Word designing Creator - www.farbigewelt.ch - aka quantenkristall || #luxcorerender
MacBook Air with M1
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Light tracing and pool

Post by lacilaci »

hmmmmmmmm......

now look what we got here!!!

PATHCPU! + Metropolis:
caustics_pathcpu_metropolis.jpg
PATHOCL + Metropolis:
caustics_pathOCL_metropolis.jpg
pathocl doesn't give me any caustics but cpu does!
clearly sds is kinda working (a bit slower than normal caustics but a LOT faster than bidir metro) for cpu + metropolis

HOWEVER, it cannot work if I enable PhotonGI for some reason (not caustics caching, only indirect!)
caustics_pathcpu_metropolis_photongi.jpg
so maybe there is a way to make lighttracing caustics look like bidir+metropolis?
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Light tracing and pool

Post by Dade »

SDS caustics can not be rendered at all by PATH/BIDIR if the light source is not intersectable (i.e. a point light source, etc.).

If the light source is intersectable (i.e. an area light source, etc.) it can be rendered only trough the eye paths so you get exactly the same result from normal path tracing and bidirectional path tracing.

Larger is the light sources and easier is to hit so a way to see something with path tracing is to increase the size of the light source. However the caustics become more and more blurred.
lacilaci wrote: Tue Aug 06, 2019 8:11 am now look what we got here!!!
The difference in Metropolis Vs OpenCL Metropolis is due to the different number of CPU Vs GPU threads (for instance 12 Vs 512,000). GPU are, for instance, 512,000 / 12 times slower to explore the path space.

You could reduce the number of GPU threads to alleviate the problem but is a palliative (i.e yes, Metropolis on GPU is quite useless).
lacilaci wrote: Tue Aug 06, 2019 8:11 am so maybe there is a way to make lighttracing caustics look like bidir+metropolis?
Light tracing with vertex merging is the solution. It is something I'm planning for the v2.3.
Support LuxCoreRender project with salts and bounties
epilectrolytics
Donor
Donor
Posts: 790
Joined: Thu Oct 04, 2018 6:06 am

Re: Light tracing and pool

Post by epilectrolytics »

lacilaci wrote: Tue Aug 06, 2019 8:11 am now look what we got here!!!

PATHCPU! + Metropolis:
Yes, somehow PathCPU metro does faster pool caustics than BiDir, the other solution would be caustic cache.
From what I read you figured out everything yourself already, but if you might provide a scene with the wave bump texture I could do some testing as well.
User avatar
lacilaci
Donor
Donor
Posts: 1969
Joined: Fri May 04, 2018 5:16 am

Re: Light tracing and pool

Post by lacilaci »

epilectrolytics wrote: Tue Aug 06, 2019 11:27 am
lacilaci wrote: Tue Aug 06, 2019 8:11 am now look what we got here!!!

PATHCPU! + Metropolis:
Yes, somehow PathCPU metro does faster pool caustics than BiDir, the other solution would be caustic cache.
From what I read you figured out everything yourself already, but if you might provide a scene with the wave bump texture I could do some testing as well.
Sure, this is the scene I'm testing all the possibilities in:
poolCaustics_testscene.blend
(3.34 MiB) Downloaded 157 times
Right now it seems building cache (in limited conditions) and reusing for full scene render is a way... (shitty and overcomplicated but it's something) the closest I can get is really only cycles+faking the whole thing... which can also look good but... not that good...
Post Reply