Where are Lambert of Phong shaders in Blender?

Hi guys, where can I find these shaders in Blender?
I tried googling, and even found an article on Blender wiki, but couldn’t find it in the Blender. Help me out please.

Gone, thankfully :slight_smile:

They do not belong in the 21st century :slight_smile:

1 Like

Why not? Sometimes I see tuts, that use blinn or phong shaders in maya.
How to replicate them in Blender or are there other ways, better ways?

They are probably bad tutorials. Just don’t use blinn or phong shaders. They are very ancient, fake representations of more complex shading interactions that modern shaders do much better and much easier at the same time. In Blender, simply use Principled BSDF and you are good to go.

It’d be better if you posted either link to that tutorial, or ideally reference photo/picture of what you want to achieve.

1 Like

Here, for example, they use two phong shaders: https://vgl.ict.usc.edu/Data/DigitalEmily2/images/10_Shader_additive_02.png

Pathrace render engines like Cycles uses Microfacet based shader models. Phong and Lambert shaders are most basic shaders based Specular-Highlight area interpolation.

As I know, Diffuse Shader uses Lambert shader model.

From 2015 and have look at the OSL version… if you really wann research this. Doing Shaders is a really deep rabbit hole.

Yes, exactly what I expected. This is just a horribly overcomplicated workaround to do what Principled BSDF gives you out of the box. It implements SSS, it implements diffuse shading, and it implements two separate specular reflection layers using the reflection and clearcoat. You can do all that in the single Principled BSDF shader and it will be faster, easier and look better.

1 Like

You mean that it would be better to use spec / roughness + clearcoat?
I’ve never used clearcoat before and always thought it’s something for car shading.

Clearcoat is useful for anything where you don’t want to waste time creating shader graphs with multiple BSDFs and need two reflection layers. In your example, it’d look something like this:


But:

  1. Your Subsurface color value will either need some fleshy red-orange color or some flesh texture
  2. If you get some old specular maps, instead of more modern roughness maps, you’ll need to invert them and tweak their intensity slightly before feeding them in roughness slot.

Back in the old days, people have done a common mistake of modulating the surface reflectance rather than the reflectance roughness. When an object is made out of the same material, in this case skin, the amount of light it reflects doesn’t really change, what changes is the roughness of the reflection, which scatters the reflected light more widely, so less of it ends up in your eye/camera, and the reflection therefore looks dimmer.

Also, you may even get away without using the clearcoat at all. The blending of two separate phong specular reflections was usually done to fake more complex reflection behavior of more complex BSDFs, as Phong’s specular falloff was quite primitive. GGX in Blender already is that more complex BSDF, so you may not need to fake those two layers, unless you actually want to simulate significantly oily skin.

2 Likes

How can I tune down spec map to 40% as in the guide above using Blender node editor? I am not really familiar with Blender yet.

Explaining complete basics would make this thread super long. I’d suggest you to search specifically Blender 2.8 and newer shading videos on youtube, and learn from there. You will have much harder time learning Blender if you follow tutorials for different software (Maya) which uses outdated shaders on top of that. Not much will translate. :slight_smile:

Thanks for thy help.
Also, shouldn’t spec go to specular?

Nope. Specular in PBR context means something different than specular in the legacy shading context. In legacy shading, specular meant the total reflection amount. In PBR context, it means fine tuning the Fresnel IOR value that the reflection falloff gets calculated out of. So you want to keep it most of the time at the default 0.5 value and use mainly roughness maps.

In old shading methods, specular maps were actually used to drive the amount of reflection, and then you also had roughness and glossiness on top. So people often had to juggle both reflection amount and reflection roughness, and more often than not used them wrong and got poor results.

These days, it’s much easier. You can simply forget about specular, and use only single parameter - roughness, and you are sure that your material will look very close to right in vast majority of cases.

3 Likes

Damn, you’re the gold mine of CG knowledge.

I didn’t even know that. I’ve been out of the loop on shading for years, and I remember doing exactly what you described back in the day : using both a specular map and a roughness map. That was indeed troublesome

Yep, in older LW, (dunno about newer versions), you had to total up the reflection / spec / diffuse to make sure it was around 100% which was a pain.

If you’re looking for how to turn on Phong Shading from the default Flat Shading: right-click over the mesh in Object Mode (in the Layout Workspace) and select Shade Smooth menu option. This will ‘Render and display faces/polygons smooth, using interpolated vertex normals.’ (See Wikipedia article on Phong Shading.)

Sorry for opening this thread up again but:
They absolutely belong to the 21st Century due to stylized rendering becoming more relevant than ever.

1 Like

Stylized rendering has nothing to do with ancient lambert or phong shaders, and stylized rendering is not any more relevant than it ever was.

There are way more flexible and powerful means of stylized rendering out there these days. Just take a look at Unreal Engine for example. Tons of stylized games have been made with it, yet it doesn’t have ancient BRDFs.

In case of Blender, the primary means of stylized rendering is either Shader to RGB conversion (which you can do in Eevee), or dedicated NPR renderers.

There’s no relation between legacy features and NPR rendering capabilities.

2 Likes