Fast Caustics with Thea Presto


Fast Caustics with Thea Presto

This article will show you how to achieve fast caustics, using Thea Presto Engine.

Lights need to have a surface area in order for Presto to produce caustics and the Sun is not one of them. It is so far away from the scene that it can be thought of as a point light.

On the other hand, the Unbiased Render Engines (TR1 / TR2) are able to produce accurate caustics, even in extremely difficult situations and this is something quite challenging to port to GPU. That is for the time being and until our next advance!

But let’s see how we can use this technique to make caustics appear in a typical swimming pool scene.

The idea behind the solution?
We will use two exact-copies water surfaces!

Original Surface Properties

This first surface will be set to cast no shadows (thus no real caustics). What this object needs to have, is a real water material that will be seen during rendering. Therefore, we will apply a water material using the Glossy layer (Image 2).

Copied Surface Properties

The copied surface should not be shown during rendering. We need to create a transparent material (Thin Film) with a caustics map in the Clipping panel. This way, the object will create “caustics” by casting shadows inside the pool.

Surface Layers

What you will need to do…

  1. Duplicate the water surface object.
  2. Make the material of the copied object unique and use a Thin Film layer (Image 1).
  3. Turn off Visible in the properties of the copied model.
  4. Turn off Shadow Caster for the original model.

Water Material…

  • Glossy layer.
  • Blueish color at Transmittance.
  • A noisy texture on the bump map.

Thin Film Material…

  • Thin Film layer.
  • A caustics texture with a blue tone on the transmittance channel.
  • The same texture (grayscale) in Clip Mapping with Soft enabled. (Image 3)

Use the button below to download a simple scene using this technique.

Credits for the models used in the rendering: Ronen Bekerman & Evermotion

Image 1: Thin Film Material

Image 2: Water Material

Image 3: Thin Film Material - Clipping Map

With deep knowledge of nearly every 3D platform out there and a passion for rendering, George works restlessly in providing exceptional content, tutorials and training.
  • Nael Sy

    I believe this sort of things are even far better than Tr1 solutions as there is completely no extra computation time.
    With some tricks and talent we can produce reflective caustics as well Right!!

  • Rombout

    Is this actually accurate than, i believe your casting shadows where if im correct caustics extreme bundled light cause by on normalities/bump

    • George Gliatis

      Hi Rombout! It is being mentioned in the ‘Copied Surface Properties’ paragraph, that ‘caustics’ come from the Thin Film Layer. This is a workaround to create stunning images!

  • Wow, George, a fantastic tutorial,… nicely explained and great pictures too. Thank you. Is there any additional information on maybe animating these properties?

    • George Gliatis

      Thank you Andrew! Well, to be honest, I think that this works best for still images. Though, that would be something nice to experiment on!

      • I have an underwater project that is begging for something like this, especially if there was some realistic movement. Thank you again-

  • Nael Sy

    I posted but i can not see it , is this a bug or i did something wrong!!

    • George Gliatis

      We had to approve it. Not sure why though!

      • Nael Sy

        Ok thanks it is available now

  • George Gliatis

    Thanks for sharing Nael! Do you use the caustics map as a texture on top of the tiles?

    • Nael Sy

      In general yes, but it is somehow tricky to align it in the appropriate position but when it is done you will get an outstanding results each frame took 2m HD on 3gtx titan with the most realistic results

  • andres careaga

    is there a way to do this on sketchup?

    • George Gliatis

      It is currently under beta testing. The new Thea for SketchUp will be out, supporting this workflow!

      • andres careaga

        how can i become beta tester? im already thea registered user….

  • Sup Trẫm

    I though it’s a caustic raytracer, turn out it’s it’s just a trick on texture. So It can’t be used for Glass, Crytals.. 😀

    • George Gliatis

      Hi. Thea is able to accurately create caustics with great speed. If you have a better look at the post you will see, that it is only a trick for a specific situation where the scene is illuminated with point lights like the sun, using the Presto engine.


    cool… Thank you