# What is the technical difference between a diffuse shader and a rough glossy shader?

If I understand correctly, the roughness value on the glossy shader controls the amount of random scattering of rays that reflect of the surface of the object, with 0 being no scattering and 1 being totally random scattering.

This would make a glossy shader with a roughness of 1 equivalent to a diffuse shader, which is not the case:

• Could this be the environment reflecting in the glossy sphere? Where the diffuse doesn't? Commented Nov 30, 2013 at 18:27
• @osi Both spheres are in the same environment, so both should appear the same if they were calculated in the same way. This is not the case. My question is what is different about the way the glossy is calculated from the diffuse? Commented Nov 30, 2013 at 20:22
• a very good question.. I can't understand why there isn't better documentation about this. It's as if the devs want to keep us confused. :/ Commented Aug 13, 2015 at 3:51

Wildly speculating based on the diagrams in the wiki..

Diffuse reflected light is randomly scattered, indifferent to its angle of incidence; extreme scatter has similar (equal?) probability to slight scatter.

Rough-glossy reflected light is scattered around the direction of pure-glossy reflection; extreme scatter is less likely than slight scatter.

So I suspect it's a distribution thing; physically the same thing is happening, but the reflection angle probabilities are different.

I suspect the dark spot is a reflection of the environment behind your camera?

• Would be great if you could test this theory a bit :) Commented May 28, 2014 at 14:15
• Barring checking out the source code, how exactly to experiment with this isn't obvious.. Commented May 28, 2014 at 14:28
• Accepting for now, since it sort of makes sense to me.. But it would be nice to see some proof of this ;) Commented Jul 19, 2014 at 0:48
• By the way, the Ashikhmin-Shirley and GGX models seem to appear much more like diffuse surfaces when roughness=1 than Beckmann - adaptivesamples.com/2014/06/23/ashikhmin-shirley-distribution - GGX is also now the default distribution model. Commented Aug 28, 2014 at 11:21

A glossy shader at "1" roughness is still far more "smooth" at the microscopic level than a true diffuse shader. This intrinsic microscopic hardness or smoothness stops it from having much, if any diffusion reflectance, and it has to rely on it's specular reflectance, which transmits reflections from nearby direct and indirect light sources.

Diffuse materials are usual highly porous or permeable at the microscopic scale, so they trap and scatter any light that hits them at unpredictable angles, and scatter it almost equally in all directions. Likewise, a lot of their "albedo color" comes from underneath the shallow surface. Metal, some liquids and some amorphous solids have no "diffusion" ability due to the hardness and solid nature of their microscopic surfaces, so all the light that hits them immediately bounces off in a predictable, angualar direction.

The technical explanation is that the glossy shader is still reflecting light at (mostly) coherent and predictable angles in comparison to the diffuse, which is spraying light every which way from sunday.

As a rule of thumb, you use "pure" glossy shaders for metals, some liquids and some amorphous solids (like varnish)

Diffuse is for really rough and microscopically porous things like plaster, rock, concrete, etc

The CGI technology difference is that the diffuse shader uses mathematical formulas known as "Lambertian and Oren-Nayar diffuse reflection" and the glossy shader can use a number of mathematical formulas which are all known as "microfacet distribution models".

On the reality/physics side, it is a common misconception to think that diffuse reflection is caused by the surface irregularities/bumps, but this is wrong, perfectly smooth surfaces still can have diffuse reflection. Actually diffuse reflection is caused by subsurface scattering, but the scattering distance for most materials and rendering scenarios is smaller than the pixel size, therefore luckily we can use the diffuse node instead of the slow subsurface scattering node.

Glossy reflection can be thought of as "real" surface reflection, without subsurface scattering. All materials reflect some of the light glossily (especially at low grazing angles, see "Fresnel effect"), but some materials (for example metals, water) have practically no diffuse reflection. The physics here is that light does not penetrate metals (no subsurface scattering) and for transparent materials the light penetrates them too easily (again no subsurface scattering).

Most materials have a mixture of glossy and diffuse reflection, but this has nothing to do with the roughness of the surface. Real surfaces are usually more or less rough, therefore both the diffuse and the glossy nodes have roughness sliders, and the rough glossy reflection happens to look somewhat similar to the diffuse reflection, but this is only a coincidence. For more details see my answer to this question: What does the Roughness setting on a diffuse shader do?