A better, procedural, pointiness/edge detection in cycles

Since we got the bevel cycles node, i wondered if it’s possible to replace the pointiness node solely with the bevel, since they do somewhat of a similar thing. Turns out, by just doing some vector math and subtracting our new bevel node from object normals, absoluting the results, and adding XYZ together, we can get a pretty well performing edge detect!

It works as well as the bevel node can, since all this is pretty much is just deviations from the original object normals the bevel has, converted to bw.

It might even be possible to use this to detect edge orientation, but i’m somewhat too lazy for that.

This is slower than pointiness! But the sacrifice is well worth it considering the usability. And you dont have to bake anything, perfect!

Node setups:
image


Blender file:
edgedetect.blend (3.6 MB)

2 Likes