I want to have a reflective floor, but have it not reflect rays coming from a light. Using Blender 2.90, Cycles. I want the light to create glossy reflections on the other objects in the scene, so I don't want the usual solution of Light > Visibility > Ray Visibility > Glossy off.

Is there any way to get the effect I'm after? Maybe by using the Light Path node somehow?


  • $\begingroup$ try turning of ray visiblity for the light source $\endgroup$ Commented Sep 18, 2020 at 1:43
  • $\begingroup$ Thanks, but if I do that then the highlights disappear from the main objects. $\endgroup$
    – GaryO
    Commented Sep 18, 2020 at 11:31
  • $\begingroup$ then you can try moving it back , out of the frame ,and compensate by increasing the strength a little $\endgroup$ Commented Sep 18, 2020 at 11:34

1 Answer 1


It seems that this is ultimately the problem of inhibiting the creation of shadow rays from camera rays incident on the floor. Therefore, we can detect them by looking for rays with a 'Ray Depth' equal to 1. Since we only care about rays coming from the floor, we can use a separate object positioned above it to act as a filter.

Ideally, this would be it: use a mix shader to permit everything but shadow rays with depth equal to 1 from passing through. Unfortunately, it seems that the glossy shader labels some of its shadow rays as glossy, so until this is fixed you have to work around it by selectively making parts of the floor purely diffusive.

Using the naive solution:

Filter Ideal solution


Floor Workaround

Example using a somewhat smooth, metallic 'Principled BSDF' in place of 'Glossy BSDF'.

Example using Principled BSDF

  • $\begingroup$ I finally got around to trying this with the filter (naive) solution. Didn't work at all for me; I'm sure it's some difference in my scene. What's the secret to debugging this kind of thing? Is there any way to visualize or log ray types? Or is it just try things & see what works? $\endgroup$
    – GaryO
    Commented Dec 29, 2020 at 20:10

You must log in to answer this question.

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