I want to make a procedural material to create a panel that has grime following the edges of the face, sort of like an old retro texture, or a minecraft block. It needs to work on stretched faces as well.

The main difficulty is that I don't know how to make it follow the edges of all said faces in the model.


1 Answer 1


If you are using Cycles, there is a Pointiness attribute to a Geometry (shader) Node that can detect and highlight harsh angles representing "edges". This only works in Cycles and does not work in EEVEE, unfortunately, and will not always give you the result you want (it can often depend greatly, and sometimes unintuitively, on the angles of your desired edges).

I suggest first testing it by connecting the value through a ColorRamp directly to the Material output and adjusting the sliders until you can see what it's doing (as you can see from my image the sliders generally need to be very close together to isolate only "thin" areas).


If you think it catches the edges the way you like, you can then go ahead and use it as a Mix Factor between your Panel Material and your "Grime" Material:


  • $\begingroup$ In Eevee, if you have a rigid body like that, you could try to use something like a difference of vector length, and abs(max(max(x, y), z)) - of course will only work if all flat faces are aligned to 4 cardinal directions or up or down... $\endgroup$ Jun 20, 2021 at 9:12
  • $\begingroup$ I am currently using EVEE, but I am glad you showed this to me! That's looks like a great method! Any idea if this will eventually be a usable method in EVEE? If not that's ok, cause I'm willing to use Cycles. (Cycles is the ideal method anyhow :D) $\endgroup$
    – RBlong2us
    Jun 22, 2021 at 19:34
  • $\begingroup$ @RBlong2us: blender.stackexchange.com/help/someone-answers $\endgroup$
    – Chris
    Jun 29, 2021 at 13:42

You must log in to answer this question.

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