Inconsistent Displacement Results Between Scenes?

So I’m trying to apply a brick texture to a wall, and use microdisplacement with adaptive subdivision to give it that finished look. I did a test with a plane and a few point lamps just to see if I could do it, and it came out looking great:

I gave it a few subdivisions, added the subsurf modifier, set it to “simple”, and made sure my dicing scale for the viewport was set to “1.00 px”.

When I applied the same process to the actual scene I’m working on, the results were definitely less than stellar:

And here’s my node setup:

I get that the lighting is different than in my test, but that notwithstanding, the brick itself just looks terrible. I am suspecting a few things, but I just don’t know for sure:

  • For one thing, the actual scale of the object in my scene is smaller than the object in my test, so I’m wondering if that’s introducing some weirdness.
  • My mesh is more complex than just a simple plane, so I’m wondering if that’s affecting the end result (screen shot below)
  • I used “Smart UV Project” to unwrap the mesh, which again, I’m not sure if that could cause problems or not

If anyone has encountered a similar issue, or has any ideas of what I could try to adjust, I’d love to get this looking right. Thanks!

Screenshot of above-mentioned mesh:

You have incorrect input in the displacement socket of material output (see it takes a vector type). You cannot just feed raw height offset into it any more. You need to feed the height into a displacement node first.

Looks like Myst Island library?

Good eye, it is indeed the library from Myst :smiley:

And I see what you’re about needing a displacement node, I’ll definitely give that a try.

One question: why did this exact same node setup work so well in my test, even without a displacement node?

I would guess most likely the orientation of the test mesh. Depends on what the displacement socket of the material output actually takes. Seems to me it takes world space offset, but looks like object space unless you manually change force a shader update after messing with geometry.

Also your normal setup is wrong. You must connect color to color and adjust strength instead of adding multiply math node.