My scene contains:

1 sphere, 1 ground plane, and 1 point light.
The scene is lit with an HDR.

I'm searching for a way to disable the reflection of the point light on the ground plane. But I want to keep it on the reflecting object.

Is there a way to achieve this?

enter image description here

I want to get rid of this light in the reflection: enter image description here

But keep this light in the reflection: enter image description here

All in all - an exact reflecting copy of what's over the reflecting plane.


2 Answers 2


Here's the solution. I must confess it wasn't easy to find out...

So basically you make a list of render layers.

  • RenderLayer : all objects (not important in this case)
  • Ball: the ball alone
  • Ref all: all reflections (the light and ball reflections)
  • Ref lamp: reflection of the lamp only
  • Ref ball: reflection of the ball only (not required in this case)
  • Plane: only the ground plane

Use a ToonBSDF -glossy (cfr image below) for the ground plane material. Size: 0.001, Smooth: 0.

In the Render Layers nodes

The green box uses all reflections and lamp reflection together in order to substract lamp reflection from all reflections with the Difference key.

We combine the plane alone with the content of those green boxes with Alpha Over.

The last green box is used to go through a Blur in order to "simulate" the ground plane's roughness. It cannot be done any other way for the roughness as the input reflection needs to be very sharp in order to substract the lamp from it.

If you slide the Size of the blur down you will have a very glossy plane. If you need a higher roughness for the ground plane, duplicate the blur and add its duplication to its output node.

Selective light reflection in blender cycles enter image description here


You can use a mesh light, with some fun light path tricks:

enter image description here

Customize however you desire.


You must log in to answer this question.

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