Why do we need the curvature maps?

I have bought Substance Painter and I can see that I can output the curvature map.
I tought that to detect convex and cave areas was sufficient to use Normal maps or Height maps.
So what is the advantage to use a Curvature map? What does it add to the rest?

You may not need it for everything, but they have a practical usage…

It all comes to speed up renderings. Finding the surface curvature at rendering time is normally very time consuming and repetitive. You need to sample near by points to find if the surface is convex or concave. The radius of this sampling can drastically slow down your renders (and you can only do it with osl).

Just like the normal map (which is a derivative field of the height map, so we need only to sample the height map one, and store the derivatives), the curvature map is a wide range tensor of the height map+geometry.

For rendering (specially for realtime rendering), it’s faster to use the (pre-made) curvature map, than to calculate it over again, every frame, every pixel, every sample…

With it, you can drive your material parameters from how exposed is the point being shaded, how the surface is changing, how much wear or dirt some area may have.

You can live without it, but in some more technical materials, it may be a valueable resource to have baked.

2 Likes