Lets recreate Pointiness (Cavity) in Geometry Nodes

Edge Angle node is fun, but on its own it is quite limited and the outputs do not match Pointiness attribute from Shader Editor. This can be a problem for making more advanced dirt/edge wear maps.

But not anymore! With the power of Geometry Nodes we can recreate Pointiness from the ground up. First lets look at how it is implemented https://developer.blender.org/D1086

The relevant part is this equation here:

Arccosine, dot product and vertex normal are pretty straightforward. Less obvious part is converting signed angle to a vector and rotating it according to a face normal:

Final product:


18 Likes

Very cool! What does the example mesh look like in solid view?

1 Like

Added it to the post above.

Also now we can use Blur Attribute on Pointiness. One iteration of blur brings it really close to original one.

5 Likes

Is this for eevee or cycles?

Yes10 characters

3 Likes

Do you have the blend file? I would really like to take a look at it.

All you need is in the second screenshot already. What else do you need?
If you don’t know how to pass attributes from Geometry Nodes to Shader Editor I suggest you to either look it up on this forum, in Blender manual or on YT.

I believe in cycles…

No. It’s agnostic. EEVEE can read general attributes same as Cycles.

This is what I have so far, it works but the it’s so finicky and not very accurate. I’m looking for very fine controls