Physically accurate caustics engine?

I want to physically cast some resin to make some caustics, and I wanna find out what geometry I want with blender, trail and error.

I know that the new baked in one is not physically accurate, and somehow, last time when I used lux render, the rendered caustics didn’t came any close to what I spent many house and money to make…

Anyone got any clues? It doesn’t even have to look good…

Oh, I see that LuxCore is not an option for you. Did you try the path guiding from Blender 3.4? It’s still experimental, and only uses the CPU but maybe you could like it. you can see the thread about the tests here:

I don’t know about the “precision” level of the caustics you need but if you are thinking about free renderers LuxCore seemed to be the best option.

Well, I don’t know how precise I need it to be, but I just want something to render somewhat close to what real life gives me.

I don’t know if there’s multiple settings in lux core for caustics path tracing, but it was not even close, like, the caustics should cast a shadow, then with some whisp of caustics, but lux render seem to creat the most extravagant caustics that aren’t close to reality

Cycles was designed to be fast at cost of that kind of detail, Cycles Design Goals. But I’m quite sure that someone created a procedural shader, addon, OSL to fake an accurate caustics look in Cycles/Eevee.

If your goal isn’t a fake look, try production engines like Renderman, Arnold, 3Delight, Clarisse. Renderman 24 Non-commercial is free, works in Blender 2.93 LTS, requires this addon. Pixar channel has some great content about lighting. Clarisse also has a free learning edition and some new tutorials, but it’s a bit more complex.

Here some free models to test.

Cycles now has MNEE and Path Guiding is coming in the next release (which can both do a pretty decent job with caustics even though they are not magic bullets). I am not sure how relevant the initial Cycles design goals are now since those who need ‘fast at the cost of accuracy’ now have Eevee (with the new ‘Next’ leap in progress).

1 Like

Cycles path guiding (available in 3.4 alpha build) can probably do what you need.

This is the procedural clouds texture displacing the surface

This is a texture painted circle bump map affecting surface normals.
caust

Luxcore? Extravagant caustics? That’s obviously a lighting and configuration error you’ve got. Luxcore is exactly that render engine that creates exact caustics. And it’s normal that you need to learn, we all started with mistakes.

Check Luxcore galleries and ask what you need in Luxcore forum for support https://forums.luxcorerender.org/viewforum.php?f=4

3 Likes

There is a high likelihood that the manufacturing process is less accurate than the rendering process.

Instead of spending $1000 for the first test, find a simpler, smaller test to evaluate and compare your render to reality. Then adjust your render til it matches reality, and go from there.

Getting the real ior and roughness of your material into your renders will vastly improve the accuracy of the simulation.

2 Likes

I cannot for the life of me, get caustics working on cycles…

I did the light caustics, the casting caustics, and the recieving caustics.

But still nothing. Is it GPU only?

For it to work you have to smooth shade your caster object aswell (the one with the glass shader).
Edit: it does work on CPU.

The caustic model you seem to be using is the “shadow caustics” or MNEE implementation.

In my examples above I didn’t use this - I just enabled path guiding (which is CPU only at the moment).

You need to chose which model to use - as MNEE and Path Guiding don’t play well together just now.

If you use path guiding as I did - you need to make sure you have clamping indirect turned off (or set to a high value like 20-25). You also need to make sure “filter glossy” is set low, but not zero. I usually set it to less than 0.1 (mostly 0.01). You also need a reasonable number of bounces (I usually use the full global illumination pre-set - which sets all bounces to 32).

1 Like

I was wondering why I could not get the similar results as you from just path guiding! I will try it out.

Try this as a starting point.

Caustics.blend (888.9 KB)

1 Like

What kind of light did you use for that render? If it was a high powered point light or a very small mesh light, well, then I have a hunch why reality didn’t turn out as expected…

Something as a point light or any other infinitesimally small light source that emits light uniformly in all directions can’t exist in real life. The bigger your real life light source in relation to the intricate surface structures on the object, the “softer” and less pronounced the caustics will be. That might be why you get those razor sharp caustics in the render, but nothing like it with your physical object. So, I daresay that an effect as shown in the render will just not be achievable in real life.

Blender allows you to set the radius of a point light so that it isn’t infinitesimally small - in my example scene above (and the renders I posted) - it is set to 0.1m (around the size of a domestic light bulb).

Yes, sure. But what does that have to do with the OPs render? As long as we don’t know what settings he/she used for that, I stand by my assumption that the issue lies there.

I don’t know what kind of light bulbs you have in your house, but in mine, they never had 20 cm in diameter. Remember that that is a radius value and the final size of your light source is 2 times what you set there.

Anyway, that is out of the discussion. The point is, not only the size of the light source is important, but also how near it is to the caustic caster object.

A point light can be big, bit it will be relatively small if it’s too far from your object.

Well, more than the light not being sharp, I’m just really bothers that the whole pattern was wrong.

I was not expecting a triangle of shadow to show up in my caustic project when I made the thing.

I was hoping to get the right “image texture” of the caustics, but it was not.

I also used a accurate to real life size of light, and that didn’t work either…

Cycles just isnt very good at caustics. Never has been.

Path guiding helps a bit - but if you want really nice caustics, you are probably best off looking at another render engine as you seem to have reached the limit of what cycles is currently capable of.

Maybe take a look at Appleseed - that seems to be able to do decent caustics using SPPM

What kind of light are you using in the physical object?