2
$\begingroup$

I'd like to render caustics in Blender with the Cycles render engine. There's a number of (other) questions that explain a few ways to fake it, but I noticed that Blender 3.2 Cycles now has caustics included, but I haven't found any answers explaining how to use that new feature yet.

So, how can I do caustics directly in Blender Cycles, without using any plugins or a different render engine (and without faking it)?

$\endgroup$

1 Answer 1

3
$\begingroup$

Note: this requires Blender 3.2 or later. Earlier versions won't work.

Here's how to do caustics, from a default scene in stock Blender 3.2 with no plugins or other render engines.

Feel free to skip steps two and three if you already have an object for the caustics to come from, as well as a 'floor' where they will go.

  1. Delete the default cube and the light, and set the render engine to Cycles, and I suggest using GPU rendering if possible. Under the Render section, I used max 512 samples, min 0, noise threshold of 0.01, along with the OpenImageDenoise for the denoiser, set to the accurate prefilter, with Passes set to "Albedo and Normal". Of course, feel free to change this, but those are the settings I used.
  2. Create a plane, and make it a reasonable size. I'll go with 4x4
  3. Make an object for the caustics to come from. I'll use Suzanne (the monkey). Remember to set this object to "Shade Smooth". I'll also add a subsurface modifier with three levels, but if you already have a high-resolution model, you don't have to use subsurface. If you've been following along, here's how it should look. I've also rotated Suzanne here. enter image description here
  4. Time to actually add the caustics. Head over the Shading tab, and make a new material for our object, consisting only of a Glass BSDF. Feel free to change the color of it if you want. I'll pick green enter image description here For the floor material, I'll just use a default Diffuse BSDF: enter image description here
  5. Next, create a sun light, and give it some rotation so it isn't just straight down. I'll do 45° for the X and Y rotation, and -90° for the Z rotation. Set the Strength for the Sun light to 8. Note that I specifically used a Sun light, not sure if the other light types will work. Here's how it should look if you've been following along enter image description here
  6. Caustics aren't enabled by default. We have to manually enable them. Here's where we need to do that:
    • On the Sun Light, under Object Data Properties (the lightbulb icon - enter image description here), turn on Shadow Caustics
    • On our object (Suzanne, in my case), go into Object Properties (enter image description here), and enable Cast Shadow Caustics.
    • On the floor (the plane), go into Object Properties, but this time check Recieve Shadow Caustics
  7. Now let's render it: enter image description here

Done! Just to go over it one more time, here are the high-level steps we did:

  1. Use the Cycles render engine
  2. Create one or more objects and a floor
  3. Turn on Cast Shadow Caustics for the objects, and Recieve Shadow Caustics for the floor.
  4. Create a bright Sun light with Shadow Caustics turned on for the light

If you're stuck somewhere, here is the finished version:

$\endgroup$
2
  • 3
    $\begingroup$ Good explanation. When I tried the new caustics first, I had a hell of a time trying to figure out why there were no caustics although all settings seemed correct - until I realized that setting the casting object to Shade Smooth is very important. $\endgroup$ Commented Aug 16, 2022 at 6:48
  • 2
    $\begingroup$ I was smashing my brain until I read your comment @GordonBrinkmann, thankss! $\endgroup$ Commented Mar 16, 2023 at 11:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .