playing with caustics

Post your tests, experiments and unfinished renderings here.
User avatar
epilectrolytics
Donor
Posts: 652
Joined: Thu Oct 04, 2018 6:06 am

The domino thing

Post by epilectrolytics » Mon Dec 16, 2019 3:50 pm

With the Hybrid engine and SDS-cache LuxCore has passed two major milestones this year in caustics rendering and I was trying to complete an old project from last year with the new features, but though there is progress I’m still not getting anywhere. This animation shows three rounds each improving but not succeeding in the end.

Setting up a domino animation with bullet physics didn’t turn out well but somehow I like the chaotic mess and decided to proceed anyway.
The first render showed the big flaw of BiDir rendering: missing SDS-caustics, you can’t see the ground through a fallen domino. So it stopped right there.

Last weekend I gave it another try with the new engines, and it looked promising.
But choosing too small a lookup radius created unnecessary noise in the glass and OIDN cannot denoise glass when there is no proper refractive albedo, it creates artefacts then, and different ones each frame, adding to the merry flicker party from various other sources in the scene.

I learned by chance that SDS-cache does well with too big lookup radius, no grainy noise then!
So I did a third attempt without OIDN und despeckle node instead.
SDS now look much better but not yet calm, needs more samples because the infinite skylight is not sampled well and causes some unrest.

But, and this is great progress, caustic-wise stuff like this is now doing ok.

This turned my attention to another problem becoming apparent: sun reflections in glass bodies.
They just don’t work right in LuxCore.
When I take a glass body with smooth edges into the sunlight, there will be sun reflection highlights all over the place.
But in LuxCore with sun+sky system and default glass shader nothing much turns up as can be seen in the first BiDir part of the animation, the objects look dull instead of sparkling.
That could be improved with rough glass in theory, only it renders very slowly and with light tracing it causes a brightness issue. The last still image of the video shows an 1.5 hour (20000samples OCL) render with rough glass where the too bright caustics can be clearly seen. Also there are still many fireflies, clamping is no option as it would diminish the reflections I’m after, OIDN would do away with them but creates other artefacts in the glass instead, maybe dust & scratch filter in Photoshop could deal with them, did not try yet.

In the third run I used a mixture of 90% glass with 10% metal to get some reflections and then worked with despeckle and glare in the compositor. That went wrong because I adjusted the first frames and forgot to check with the end frames where the effect was way too strong.

And of course the constant wiggling from the nervous bullet physics doesn’t help either.

Though I didn’t succeed I wanted to give some feedback about the current state of animating caustics with LuxCore, I’m putting this back to rest now but am eagerly waiting for BiDirVM and Disney shader with transparency which were announced after the last poll but apparently postponed in the mean time, maybe they can help with the rough glass issues.
Attachments
domino3.blend.zip
(784.57 KiB) Downloaded 24 times

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

2020!

Post by epilectrolytics » Thu Jan 02, 2020 6:17 pm

2020.jpg
2500 samples PathCPU Metro + Light tracing, 70% OIDN

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

Re: playing with caustics

Post by epilectrolytics » Wed Jan 08, 2020 6:48 pm

Comparison of render with caustic cache (first turn) versus light tracing with SDS-cache (second turn).

Caustics from cache seem too bright and there are fireflies dancing in the shadows that OIDN cannot catch, also render times are way longer.
Caustics from Hybrid engine seem more natural but brightness is not stable (flickering), render times are very short though.

Apparently there is currently no way to do proper caustics animations with LuxCore :(

Post Reply