The newest daily build of Corona features new improved caustics. They can be used inside volumes, be it global volume, Corona Volume Grids, Phoenix simulations, smoke, fog, murky water - you name it! They also generally render faster both on surfaces and in volumes. You can also control the intensity of surface caustics and volume caustics independently (in Render Setup > Performance).
Please note that this feature is still a work in progress, so treat the following examples as pre-production samples. We are working on further improvements!
I’m happy as a clam, I’ve been waiting for this for several years. The only thing is that since the caustics in volumetrics need the volumetrics itself, it has now become treacherously noticeable how slowly volumetrics renders with the Inside Volume mode. Now this is a desired improvement. (and of course the ability to render caustics by region)
As for the caustics itself, everything works nice, I haven’t encountered a single bug yet (once, however, it simply disappeared until I moved the camera a little). It has become much faster and cleaner, thanks to the devs!
You used this mode in the “sphere” example, right? I can only recommend increasing the step size as much as possible and enabling “single bounce only”.
(and of course the ability to render caustics by region)
This should now work better than before. If you render a region, this should not result in glitches/splotches, but under the hood caustics are calculated for the whole image, so there won’t be as much speed up as expected.
Yes, where the smoke above the surface is not uniform, which is usually the case in scenes closer to production. I even had to do this pic with a step size of 25 cm and render it in a very low resolution, I’m afraid to imagine what will happen in a real exterior scene, for example, like yours with the pool.
I recently had scenes with a hot jacuzzi, where I would like to get caustics from a light source at its bottom, passing through a layer of bubbling water and steam above it. Naturally, this will be the noisiest place in the whole scene and I would definitely use a render region after the rest of the scene is ready. But, according to my tests, rendering with a region still creates splotches for now, which then do not disappear later.
Tested on a simple scene with a rectangular pool, water is a box with tessellation and a noise modifier on the upper polygon. Default Sun & Sky. Materials without displacement.
If I submerge the camera under water and turn OFF the “caustics in volumes” checkbox in the render setup, the caustics at the bottom of the pool are calculated incorrectly, turning from correct patterns into mush.
2)And I also noticed (I think I haven’t noticed this before) that when the camera is half submerged and the Camera Physical Size option is turned on, this box casts a shadow and prevent caustics from appearing, which in my opinion isn’t correct.
Thanks for the response, maru, of course! I edited the scene in such a way that 2 problems became immediately visible. underwater_caustics_2024.max (1.13 MB)