Thin film, caustics etc

So, I have wondered this:

Why doesn’t Cycles have a thin film shader?
Why does it not generate caustics?

Is it due to something deep embedded in the engines core?

I’ve seen materials and setups that tried to mimic thin film, but I don’t think you get view dependency. Also, it is easy enough to fake with “good enough” results - meaning only you would know it’s faked.

It? Cycles? But it does. It only takes forever to generate “sharp caustics patterns” :smiley: For light retransmittance (not patterns) it does an ok job I guess, but it still takes a lot of samples to get it noiseless.

Bidirectional path tracing is not implemented, apparently because it’s not compatible with Light Path node, which we use a lot for optimizations (i.e. for replacing lack of caustics if we turn it off for noise reasons). Caustic pattern is a lot harder to fake convincingly. If it was crucial for my work I’d probably bake it out in Lux or something. Adding in fake patterns is sufficient for me.

Limitation? Yes for caustics I guess. Not sure why thin film isn’t there yet, probably not being prioritized yet, as there has been a lot of other more significant improvements lately (math and generator nodes). Nested dielectrics without having to think about it would be on my priority list, not thin film.

here you have a thin film shader grp.its very accurate.based on material IOR and thickness.works with cycles.

for caustics you can try other renderengines like luxcore appleseed yafaray ect.