How to make disco ball reflect lights on walls?

I had supposed that it is very easy to make such effect: Make a UV sphere, no shade smooth, roughness to 0, and the light should be reflected in spots. Like on this picture:

enter image description here

But instead I received very blurry reflections on the walls:

enter image description here

I tried using shadow caustics from 3.2, but it doesn't give the effect. Not that I had expected. Let me explain.

What I have set so far:

  1. Filter glossy is 0:

  2. Clamping is disabled.

  3. Shadow caustics is enabled on light source

  4. Receive caustics is enabled on walls

  5. Cast caustics is enabled on Ball

This is the result:

enter image description here

But, If I disable caustics either on light or one of the meshes, it appears but blurry:

enter image description here

It seems to be new caustics doesn't work with reflections? Or am I missing something?

Here is a sample file that you can play with:


1 Answer 1


As stated in the release notes, as of Cycles available in Blender 3.2, MNEE (Manifold Next Event Estimation) based calculations only support shadow caustics.

That means caustics for the shadows of refractive objects. Reflection caustics are not yet supported at the time of writing, sadly.

Support for selective rendering of caustics in shadows of refractive objects (1fb02471fb).

Example uses are rendering of underwater caustics and eye caustics. Eye caustics using Manifold Next Event Estimation

This is based on "Manifold Next Event Estimation", a method developed for production rendering. The idea is to selectively enable shadow caustics on a few objects in the scene where they have a big visual impact, without impacting render performance for the rest of the scene.

Note this method has a number of limitations:

  • Only caustics in shadows of refractive objects work, which means no caustics from reflection or caustics that fall outside shadows. Only up to 4 refractive caustic bounces are supported.
  • Caustic caster objects should have smooth normals. Bump and normal maps are ignored.
  • Not currently supported for Metal GPU rendering.

In the future this method may be extended for more general caustics.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.