29
$\begingroup$

Aside from the fact that you can control the bump mapping per shader with a bump node, are there any differences between these materials?

enter image description here

enter image description here

As far as I can tell, they are the same. Is the displacement socket just a convenience thing? Is there a performance advantage?

$\endgroup$
  • $\begingroup$ Why do you use color data on the image texture node for displacement output and for bump node, respectively? is it correct? should not one use non-color data channel instead? $\endgroup$ – Evgeny Bobkin Apr 24 '18 at 16:28
27
$\begingroup$

Theoretically they are meant for similar purposes and functionally there is overlap when used in simple cases.

However, when used for extreme bump mapping, the bump map node produces much better results:

disp vs bump

Left: Texture plugged into displacement output Right: Bump map node plugged into shaders


The other difference is of course that the displacement output can be used for actual geometry displacement (when when using the experimental feature set):

disp as bump and true

Left: Bump displacement Right: True displacement

Both spheres use the same material with the texture plugged into the displacement output. The sphere on the left uses the default Bump displacement method, while the sphere on the right uses the True method:

disp settings

Note that the sphere on the right has a Subsurf modifier on level 4 to give it enough geometry to displace. There is a Use Subdivision option in the displacement settings, but I found this causes some wireframe artefacts.


Finally, using the Bump node allows you to choose not to have a bump map for certain shaders. For example you may want the gloss on the material to appear like a glossy coat or varnish, while still having a bump map for the underlying diffuse shader:

Bump on certain shaders

Left: Same displacement for all shaders Right: Different displacement for each shader


For reference, here is the sphere with no bump or displacement

no bump or displacement

$\endgroup$
  • 1
    $\begingroup$ Just to be clear, the top example is displacement on the left, and bump on the right (the reverse of the middle example), right? $\endgroup$ – gandalf3 Sep 2 '14 at 18:18
  • 2
    $\begingroup$ That's correct, though the middle ones are both displacement, just comparing bump-only vs true displacement $\endgroup$ – Greg Zaal Sep 2 '14 at 18:22
  • $\begingroup$ Update for newer blender users: the true displacement option is now under material settings. $\endgroup$ – Alexander Lozada Feb 28 '17 at 9:26
1
$\begingroup$

In theory they should be different.
I am not sure of the naming convention in blender now as it changes quite a bit. However here is my rendering of the definitions:

Plugging the image directly into the displacement socket treats it as a displacement map (much heavier, moving actual geometry about).
Using a bump, gives you a bump map.
As you can see the output of the bump node is a normal. You plug this normal into material and it will change the normals of the surface according to the image. Giving it the feeling of being engraved when the actual surface stays flat. (more efficient than displacement).
Having said that keep in mind that if you go close to the surface you will notice that it is flat and not "bumpy".
Usually one would use a combination of both... displacement, for the bigger details, and normal/bump mapping for the finer detail.

The best test is to try and increase the strength of both, go down close to the surface and see what happens.

$\endgroup$
  • 1
    $\begingroup$ This is incorrect. While in general displacement refers to geometry being moved, in this context it is the same as bump. The displace output does not currently displace geometry this will be an option in the future. $\endgroup$ – Ray Mairlot Jul 25 '14 at 9:26
  • 1
    $\begingroup$ The displacement modifier does what you described, that is not what the displacement socket does. In cycles shaders do not modify the geometry. $\endgroup$ – David Jul 25 '14 at 13:53
  • 1
    $\begingroup$ This is an experimental feature, but it's not enabled by default. However when it is enabled, and the displacement type is set to displace, it does indeed behave as you describe. $\endgroup$ – gandalf3 Jul 25 '14 at 17:54
  • $\begingroup$ Oh ok, my bad. I tested it out in cycles and couldn't see it displaced but thought it has to be rendered out... you get the same thing in Maya, you cannot see the displacement in the viewport, it's only in the final render. But I also read that it can be switched somewhere b/n normal and true displacement. Apologies for that. $\endgroup$ – G.Rassovsky Jul 25 '14 at 19:02
1
$\begingroup$

The point is so that, if you want to, you can use a bumpmap in one shader and another one entirely in another shader. If you plug it in the output, it will be used for the whole material.

$\endgroup$
  • $\begingroup$ So using the same bumpmap on all shaders is the same as using it on the output? $\endgroup$ – gandalf3 Aug 26 '14 at 21:01
  • $\begingroup$ I think so, however it might be more efficient to use it in the output node. $\endgroup$ – someonewithpc Aug 26 '14 at 21:08

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.