Blender noob here.
Diffuse grey/white materials still reflect some of the other colors, making them eg. a bit greenish on one side when there’s a green object near.
What would be the best way to have a completely non-glossy material? (Shadows have to be created, but no other colors reflected).
I know it wouldn’t be truly realistic, but it’s an effect I would like to obtain.
AFAIK that’s not to be changed in the diffuse white object, but rather in the - in your example - green nearby object, as that is what causes the color bleed.
So, you can either…
a) Uncheck “Diffuse” under Object > Cycles Settings > Ray Visibility for the green(!) object or
b) use a setup like this for the green object’s material:
This node setup basically makes the green object white for any diffuse rays, therefore it appears as white in a diffuse object’s “reflection”.
If it’s a single object that needs to ignore it, you could look at object combined with render layers and composite together at the end. Two object layers, with the excluded object on it’s own, two render layers as per the images, and a compositing node setup to put them together (NB. My setup includes a second scene to render only the background, hence the additional nodes. When we can turn off film transparency per layer rather than scene, that won’t be necessary).
NB. I used an emission rather than diffuse to make it more visually obvious.
The unaffected suzanne is on layer two, the remaining objects on layer one, and the light is on both.
EDIT:Forgot the compositing nodes, posted further down owing to 3 image limitation
by the way, your problem it’s called color bleeding, and it is the basement of global illumination: the green object casts a green light in the surroundings because this is what happens in real world, the light bounces on the green object and continues to bounce from there, until its power fades to 0