Page MenuHome

Bump shader node not working with tangents node texture coordinate.
Closed, DuplicatePublic

Description

System Information
Operating system: Linux-5.8.0-53-generic-x86_64-with-glibc2.31 64 Bits
Graphics card: AMD RAVEN (DRM 3.38.0, 5.8.0-53-generic, LLVM 11.0.0) X.Org 4.6 (Core Profile) Mesa 20.2.6

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-05-15 23:00, hash: rB9dabb342ba5e
Worked: (newest version of Blender that worked as expected)

Short description of error
Nothing happens if you plug a wave texture with texture coordinates coming from the tangent node into the bump node even if you put absurdly high strength/distance values.

Exact steps for others to reproduce the error

  1. Delete cube.

2)Add monkey and put a material on monkey.
3)In the shader editor add a tangent node.
4)Plug output from tangent node into a wave texture node's 'Vector' input.
5)Plug output from wave texture node into bump node's 'Height' input.
6)Plug bump node's output into principled BSDF 'Normal' input.
7)Watch as nothing happens.

Weird thing is if you substitute the tangent node with 'Tangent' output of the 'Geometry' node everything works as expected. But unfortunately you can't get UV tangents from said 'Geometry' node as far as i am aware only the 'Tangent' node can do that.

Event Timeline

Will need to investigate. What I miss in the report whether there is a difference between eevee/cycles.
If cycles doesn't support it it is mostly by design, if it is an error in eevee it could be a bug, known issue or limitation.

Checked with cycles, and it doesn't work there. Node produces output that looks usable when plugged into color socket though.

While the bump node does produce output that looks usable it's actually nothing more than the geometry normals i.e the bump node is not modifying the geometry normals in any way and just returning them back as is. You can check this by doing a vector math 'distance' operation with geometry normals followed by a math compare node, if you compare it with 0 even with 0 epsilon both evee and cycles will tell you that they are equal though at very high strength values you get an interesting looking output, i am guessing it's just floating point inaccuracies manifesting at very high values, the weird thing though is if it's not modifying the normals in any way then why are floating point inaccuracies all of a sudden manifesting??