Maniphest T98103

Displacement node gives incorrect displacement in combination with geometry node
Closed, Archived

Assigned To
None
Authored By
tempdevnova (tempdevnova)
May 13 2022, 6:13 PM
Tags
  • BF Blender
Subscribers
Brecht Van Lommel (brecht)
tempdevnova (tempdevnova)

Description

System Information
Operating system: Windows-10-10.0.19043-SP0 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 431.07

Blender Version
Broken: version: 3.0.0, branch: master, commit date: 2021-12-02 18:35, hash: rBf1cca3055776
Worked: (newest version of Blender that worked as expected)

Short description of error
Displacement node gives incorrect displacement in combination with geometry node

Exact steps for others to reproduce the error
Test file:

In the above test file the object is shaded smooth and thus the true normal output and the normal output of the geometry node should be identical.
However when plugged into the normal input of the displacement node it giaves different displacement for each geometry node output, which is especially visible along the edges of the cube.

Thank you and have a great day!

Event Timeline

tempdevnova (tempdevnova) created this task.May 13 2022, 6:13 PM
Brecht Van Lommel (brecht) closed this task as Archived.May 13 2022, 7:02 PM
Brecht Van Lommel (brecht) added a subscriber: Brecht Van Lommel (brecht).

This is by design, displacement will always use smooth normals. Displacement happens per vertex, if we'd move the vertex in a different direction for every face that would break the mesh.

tempdevnova (tempdevnova) added a comment.May 13 2022, 7:26 PM

Yes I understand that, which is why I think that therefore the true normal and normal output of the geometry node when connected to the displacement node should give exactly the same displacement (as it shouldn't matter whether the cube is shaded smooth or not), unless the true normals output is treated differently by the displacement node.

Apart from that could you please have a quick look at T96784, as in that case it moves that vertex in a different direction for every face, breaking the mesh. Philipp Oeser responded that it was expected behavior (which would be strange as in all other cases this doesn't happen) but from his phrasing i think he wasn't 100% sure?

Brecht Van Lommel (brecht) added a comment.May 13 2022, 7:30 PM

I think the current behavior is ok. The True Normal is a useful in some advanced corner cases. just don't use it for displacement if you don't have a good reason to do so.

tempdevnova (tempdevnova) added a comment.May 13 2022, 7:33 PM

I'll take that as a too irrelevant to fix :-)