Page MenuHome

Displacement does not work with Bump node
Closed, ArchivedPublic

Description

System Information
Laptop: Dell Inspiron 15 5000 Gaming
Operating System: Ubuntu 16.04.3 LTS
Graphics Card: GeForce GTX 1050

Blender Version
Broken: blender-2.79-37beac8eb82-linux-glibc219-x86_64
2018-02-07

Short description of error
Plugging in a "Bump" Nodes "Normal" output into the "Material" input "Displacement" (This is a vector input as I am using a Daily build of bender here)

Exact steps for others to reproduce the error
Not sure if this is a bug or a TODO.

  • Add a Plane.
  • Subdivide the plane.
  • Switch to Cycles.
  • Create a material for the plane.
  • Make sure material settings hash Geometry "Displacement Only" or "Displacement and Bump".
  • Add a texture node (I use noise, but have tested with an image texture.)
  • Add Bump node.
  • Plug the factor of the texture node into Bump node.
  • Plug in the output normal from the Bump node into the Displacement input Material Output node.
  • Render or switch to rendered view.

Event Timeline

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Archived.Feb 9 2018, 2:50 AM
Brecht Van Lommel (brecht) claimed this task.

That's not what the Bump node is supposed to be used for, it generates a normal that you can plugin into BSDF nodes, using it as displacement doesn't really make sense. For displacement, you should link a Displacement or Vector Displacement node.

I guess the point is here rather: how come a Normal input into the Displacement node doesn't have any effect? I am using Blender 2.82 and the same problem still exist: it seems as if the Displacement node's Normal input doesn't have any effect.

To be fair if you adjust the Midlevel value to 0.5 and Height to something more than 0.5, there is some effect, but I don't think that is expected.

The problem is quite relevant: for instance if I bring in a normal map texture (rather than generated bump map converted to normal), and I would like to apply that texture as displacement, how would I do that with available nodes if Displacement's Normal input is not working?


Bump Only - Normal Map to Shader


Bump Only - Normal Map directly to Displacement Output


Bump Only - Normal Map after Displacement node to Displacement Output


Displacement Only - Normal Map directly to Displacement Output


Displacement Only - Normal map after Displacement node to Displacement Output

You can't use a normal map texture for displacement. It simply does not contain the required information of how far to displace. It's only a direction, not a distance.

Normal maps are only suitable for bump mapping. For true displacement you need a displacement map.