What is the key difference between “Shader” and “Material”?

I know that Shader is a type of computer program that used for shading. And it looks like Material also define how model looks like. That means for me, that in Blender “Material” equal “Shader” (or not?) But if it so, why same thing named differently in different parts of interface:

enter image description hereenter image description here

Is there a some inconsistency here, or this is a different things? Can I call it “Material nodes” and “Shader tab” or it will be wrong?

It’s really just a name. In a way, it’s just using the old way of naming how a surface was described in Blender Internal. In fact, almost all 3d programs called these materials in the 90s and early 2000s. So, there is a bit of an outdated legacy to it. But the material could also be seen as a collection of shaders, since multiple shaders can be combined to describe the way the surface and/or volume would be rendered. So I guess it’s not totally incorrect to continue calling these materials. Adobe (sigh) software calls these combinations of different shaders substances, for instance. Besides just naming, a lot of the python and c code uses the word material, so it adds consistency between the interface and the code.

In Blender terminology material, light and world are datablocks that contain two things:

  • Shaders to describe the look.
  • Settings to control the quality.

Shaders can be mixed, grouped, and shared between datablocks.


Ok, I think, I got it. So, shader is nodes (node trees) (or settings for other render engines), and material is the shader + a viewport settings (and some other settings)?

But… since “Shader editor” has some “material settings”

is it becomes “Material editor”?

The reason it’s not called the material editor is because you can also edit world, light and freestyle shaders there.

1 Like