appleseed Users Forum

Render caustics in Gaffer

I am fairly new to appleseed and I am mainly using it in Gaffer. I wanted to try to play with the SPPM engine to render some caustics. I have created a simple scene with a ground and a simple glass model with thickness (using Solidify modifier) in Blender and imported it into Gaffer (version

In Gaffer, I assigned an asGlass shader with the following settings:
Transmittance Weight: 1
IOR: 1.45
Distribution: beckmann
Roughness: 0.001

Here is how I assigned the shader just to be sure I am not doing anything wrong.

I added a directional light and an environment light to the scene. I then attached the StandardOptions node to define the camera followed by the AppleseedOptions node with the following settings:

Lastly, I attached the Outputs and the InteractiveAppleseedRender nodes and started the render.

This is the result I get:


I don’t think there is any problem with the shaders, as it looks to be working, so my guess would be it is something to do with the render settings, but I am not sure what do I need to do.

Any ideas?

Hi @AbdelrahmanMSaid,

welcome to our forum!
I’m not a Gaffer user but from what I can see is that your lighting is not good to see caustics.
Best is to use a localized strong light source like a spot light and not environmental lighting for your glass.

The sampling settings seem ok, many passes with low samples is beneficial for SPPM. In the SPPM settings Max. Photons should be around 100.

Below is a screenshot of an appleseed for Blender scene showing a glass lit only by a spot light and no environment lighting.

Thank you very much, @Mango3. I figured out what was the problem. It turns out that appleseed doesn’t display caustics in the interactive render. I even tried it in Blender 2.79 and I got the same behavior (not sure about 2.8 as I am on Linux and the addon is not available for Linux at the moment).

Once I rendered a final image, the caustics displayed properly. Not sure if this is a bug or a missing feature.

Good to hear it works now for you.
I missed the part about the interactive renderer in your first post.
SPPM works only with final render (in all plugins), for interactive (progressive) rendering standard path tracing is always used.