16
$\begingroup$

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:

enter image description here

What is different about the glossy shader that causes the darkening?

$\endgroup$
4
  • $\begingroup$ Could this be the environment reflecting in the glossy sphere? Where the diffuse doesn't? $\endgroup$ Nov 30, 2013 at 18:27
  • $\begingroup$ @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? $\endgroup$
    – gandalf3
    Nov 30, 2013 at 20:22
  • $\begingroup$ I couldn't find much about the calculation. The only thing I could find was this information about the shaders: wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/… $\endgroup$ Nov 30, 2013 at 22:45
  • 1
    $\begingroup$ 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. :/ $\endgroup$
    – mahela007
    Aug 13, 2015 at 3:51

5 Answers 5

2
$\begingroup$

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?

$\endgroup$
4
  • 2
    $\begingroup$ Would be great if you could test this theory a bit :) $\endgroup$
    – Greg Zaal
    May 28, 2014 at 14:15
  • $\begingroup$ Barring checking out the source code, how exactly to experiment with this isn't obvious.. $\endgroup$
    – ajwood
    May 28, 2014 at 14:28
  • $\begingroup$ Accepting for now, since it sort of makes sense to me.. But it would be nice to see some proof of this ;) $\endgroup$
    – gandalf3
    Jul 19, 2014 at 0:48
  • 2
    $\begingroup$ 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. $\endgroup$
    – Greg Zaal
    Aug 28, 2014 at 11:21
6
$\begingroup$

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

$\endgroup$
2
$\begingroup$

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?

$\endgroup$
1
$\begingroup$

I may have found the answer here: http://wiki.blender.org/index.php?title=Doc:2.6/Manual/Render/Cycles/Nodes/Shaders

Look at the diagrams showing the direction of reflection of the incident rays (the light rays falling on the object): In glossy shading, (according to my interpretation), no matter how rough the material is, light will only be reflected away from the direction of incident light. The variation in the direction of reflection is governed by the roughness parameter. However, in diffuse shading, light will be reflected in all directions. It will even be reflected back in the same direction of the incident light. So, if you happen to be looking at the object from the same direction as the incident light, the object will look brighter in diffuse shading. Another way to say this is that parts of the object that reflect light away from the viewer (when glossy shading is used) will look brighter in diffuse shading, because-in diffuse shading- they will reflect light both towards and away from the viewer.

$\endgroup$
-3
$\begingroup$

The Cycles Glossy shader allows reflection, while the Diffuse does not have reflection. Even when you set the glossy's roughness to a high value, it is still reflecting somewhat. One thing that might help your investigation is if you increased the samples on your image. :)

$\endgroup$
1
  • 4
    $\begingroup$ The diffuse shader is reflecting light (it has to be, if you are able to see it) The difference between a diffuse reflection and a non-rough glossy reflection is that the diffuse reflection scatters light, while a non-rough glossy reflection (specular reflection) reflects light at the angle of incidence. My question is, since a rough glossy shader scatters light, then how is it different from a diffuse shader? $\endgroup$
    – gandalf3
    Dec 12, 2013 at 2:58

You must log in to answer this question.

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