10
$\begingroup$

As the title says how can I achieve the kind of specularity you see in Blender Internal like Phong, CookTorr, etc. in Cycles. I've gotten close with a diffuse and glossy shader put together with an add shader but no dice.

Is there a certain Cycles node layout that can achieve the kind of specularity (again like phong and etc.) like in Blender Internal? Also we can't use different scenes it must be in one scene and rendered only with cycles.

$\endgroup$
  • $\begingroup$ The best way i found is to create an additional light source which affects only to glossy. youtu.be/fvt01QRMbng $\endgroup$ – mifth Jun 11 '15 at 8:58
11
$\begingroup$

A specular highlight in real life is in fact a reflection of a light source, so to get a physically accurate highlight, the glossy shader is what you want.

However, another way to get such a highlight is the Toon shader:

enter image description here

This shader gives you more control over the exact size and smoothness of the highlight.

$\endgroup$
  • $\begingroup$ Does the Toon shader mimic a traditional specular highlight model like Phong? $\endgroup$ – Justin Jun 4 '14 at 16:21
  • $\begingroup$ @Justin no, it can't be, because Cycles is physically based and behaves differently. The bigger the 'specular' is, the dimmer it gets for example. Traditional specular highlight ignores this. There are other differences too. $\endgroup$ – Jaroslav Jerryno Novotny Oct 9 '17 at 0:01
5
$\begingroup$

I think I may have gotten the specularity down. What I did was use the diffuse and glossy shader with the add shader. Next I added a MixRGB node that's set to multiply with white (or whatever color you want) and pure black and connected the color output to the glossy node. The factor for the MixRGB node controls the intensity of glossy node (and thus the specularity).

Here's a pic that demonstrates the effect: enter image description here

I'm not sure if there are any caveats to this trick but it does give me an effect similar to Blender Internal's specularity.

EDIT: This method is physically incorrect, the glossy shader will end up brightening the scene, esp. if the glossy color is set too bright. Should only really be used for special cases.

$\endgroup$
  • 1
    $\begingroup$ This answer is wrong and leads to incorrect results - leaving this comment here for anyone stumbling upon this and not knowing how nodes work. Pls feel free to disregard the "Best answer" check-mark. $\endgroup$ – Jaroslav Jerryno Novotny Oct 8 '17 at 23:54
  • $\begingroup$ Yeah, using the add shader like that will result in physically inaccurate results. I was using add method because mixing was giving me ugly, unsatisfactory looking results. Fortunately the newfangled Principled BSDF shader in 2.79+ is giving me satisfactory specularity. $\endgroup$ – Nero1024 Oct 9 '17 at 5:05
4
$\begingroup$

You could use the Glossy BSDF and a plane that emits light (Emission set to 2.9, Sun at default).

enter image description here

With roughness set to 0 the shape of the plane is recognizable:

enter image description here

Setting the roughness to .1 a highlight similiar to phong will be rendered.

enter image description here

$\endgroup$
3
$\begingroup$

You're on the right track, and @stacker 's answer is good, but using a Mix Shader to mix glossy and diffuse shaders will give you the best of both worlds. You can control the blurriness of the reflections with the roughness on the glossy shader, and you can control how bright the highlights are by mixing in more or less diffuse (using the factor value on the mix shader).

It's still not quite the same as phong/blinn/lambert/cook-torr but it'll get close.

$\endgroup$
1
$\begingroup$

The new Principled BSDF shader found in Blender 2.79+ can give similar looking specularity seen in the Blender Internal Renderer.

Pic related

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.