34
$\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$
1
  • $\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$ Commented Apr 24, 2018 at 16:28

3 Answers 3

33
$\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$
3
  • 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
    Commented Sep 2, 2014 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
    Commented Sep 2, 2014 at 18:22
  • 1
    $\begingroup$ Update for newer blender users: the true displacement option is now under material settings. $\endgroup$ Commented Feb 28, 2017 at 9:26
2
$\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$
4
  • 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$ Commented Jul 25, 2014 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
    Commented Jul 25, 2014 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
    Commented Jul 25, 2014 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$ Commented Jul 25, 2014 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$
2
  • $\begingroup$ So using the same bumpmap on all shaders is the same as using it on the output? $\endgroup$
    – gandalf3
    Commented Aug 26, 2014 at 21:01
  • $\begingroup$ I think so, however it might be more efficient to use it in the output node. $\endgroup$ Commented Aug 26, 2014 at 21:08

You must log in to answer this question.

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