Is it possible to make a displacement texture where each cell of a voronoi texture results in a 100% flat planar surface?

The picture below is similar to the effect I'm looking for, however, in this example, the cells are still slightly convex/concave.enter image description here

  • $\begingroup$ Some variation of this , using Voronoi instead of rectangular tiling? $\endgroup$
    – Robin Betts
    May 9 at 6:25
  • $\begingroup$ @RobinBetts I'm not sure, I wouldn't know where to plug in a voronoi texture into that shader $\endgroup$ May 10 at 22:14

1 Answer 1


New Answer:

I have adapted my first approach a bit and also fed the Normal slot of the Glossy Shader to create the impression of a perfectly flat surface. If you want to also achieve the beveled look in your image, I am hitting the boundary of my knowledge/trickery. Can't help you with that. But this way at least the convex surfaces disappear.

Under Material Properties > Settings > Surface you also need to change Displacement to Displacement Only or Displacement and Bump for it to work.

I don't know your exact use-case, but I believe Geometry Node might be the better way to approach this.

Old Answer:

I replaced your bump map with a proper displacement map, fed it into the displacement slot of the material output and played around with the exponent value of the math node as well as different Voronoi settings.

Is this the kind of result you were looking for?

  • $\begingroup$ Almost, it's really no different from the example I posted, just as displacement. Albeit subtle, the issue is that the "facets" are still concave. $\endgroup$ May 10 at 22:20
  • $\begingroup$ I think the displacement takes it too far - you can't predict where other points of the same voronoi cell are, so unless your object is mathematically predictable - like the sphere - then it won't work. But in regards to shading, yes, reading the cell (dot spawning the cell) position will guarantee a consistent normal among all samples belonging to the cell. The only thing I would add is to check dot product of normal and the Position, if it's negative, you need to reflect the normal, because you probably don't want normals inwards. $\endgroup$ May 11 at 13:55

You must log in to answer this question.

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