How to Render Pool Caustics with Thea Render

Feb 22, 2022 | Tips

INTRODUCTION

Caustics is an advanced but expensive engine feature adding to the realism of the scene. Pool caustics is one of those things that take the image to the next level. Let us see how to setup the scene, create the water material, and change the render settings to take caustics into account.

 

Fig. 1: Pool caustics creation process

A FEW NOTES ON ADAPTIVE TRACING

Since version 3.0, the Thea Presto engine can produce reflective and refractive caustics coming from point lights (e.g. Sun) with the addition of Adaptive Tracing.

If you are not familiar with Adaptive Tracing, watch the video to get an idea of the benefits in using it.

ENABLING ADAPTIVE TRACING

Adaptive Tracing is in the Render Settings tab. To enable it, tick the “Enable” checkbox and make sure that the “Caustics” option is also enabled. You can see the difference when Adaptive Tracing is on in the image below where the Sun actually goes through the water surface.

Fig. 2: Adaptive Tracing
Thea Sun passing through the water surface

Fig. 3: Thea for SketchUp
Enable Adaptive Tracing in Render Settings

Absorption with color (20)

Fig. 4: Thea for Rhino
Enable Adaptive Tracing in Render Settings

MODELING THE POOL

The recommended way to create the water surface is to create it as one-sided (e.g., a simple plane). Below is a section of the scene that we will be using for our tests. Download links for the scene can be found here.

Fig. 5: Section of the scene

CREATING THE WATER MATERIAL

To create the water material we will go through the following steps:

  • Add a “Glass Layer”
  • Click on the Advanced Settings a icon
  • Select “IOR(n) + (k)” from the pop-up menu
  • Change the “Index of Refraction (N)” value to 1.33 (water’s IOR)

Source: https://refractiveindex.info/?shelf=3d&book=liquids&page=water

Fig. 6: Basic Water Material
Adding a Glass Layer and changing the IOR to 1.33

USING ABSORPTION

The next step is to add Absorption to the water material to get a blueish tint. In the next paragraph, we will explain the difference between Transmittance and Absorption and explain how to switch between the two.

Transmittance turns to Absorption when the Absorption value is anything other than 0. If we increase the Absorption value, you will immediately notice that Absorption takes the place of the Transmittance value.

TRANSMITTANCE
Transmittance controls the amount of light that passes through a material. So, in a way, it makes the material more or less transparent based on the color or texture assigned. Using a color in Transmittance will color the surface evenly regardless of its volume (Fig. 5).

ABSORPTION
In contrast, Absorption considers the thickness of the object and is controlled by the absorption value. As you can see in the example below, the absorption color depends on the thickness of the pool surface beneath the water (Fig. 5), and this is the reason why the bottom of the pool has a darker shade than the rest.

Fig. 7: Difference between Transmittance & Absorption
Above: Transmittance – Below: Absorption

Considering the difference between Transmittance and Absorption, we will use a light blue color and increase the absorption value to start seeing the effect in the rendered image.

Fig. 8: Enabling Absorption

ADDING A NORMAL MAP

As a last step, we will be adding a normal map to the Bump channel to add a few fine details to the surface. To do that, follow the steps below:

  • Click on the “checker” icon of the Bump channel
  • Select the Normal Map
  • Click on the “bitmap” icon next to the Normal Map
  • Select “Normal Map (OpenGL)” from the pop-up window.
  • Adjust the Bump strength accordingly

Fig. 9: Adding a normal map to the Bump channel

Here is how the scene looks like with the addition of a normal map.

Pool caustics with normal map

Fig. 10: Water surface with the addition of the normal map

Caustics with Adaptive Tracing

Fig. 11: Applying the technique on a different project

THEA FOR SKETCHUP SCENE

THEA FOR RHINO SCENE

RELATED POSTS

No Results Found

The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.