Composite Texture Mode: Normal Roughness Explained?

Hello!

Can someone explain how UE is generating roughness from a normal map in the Texture Editor? This option is the compositing section–I am looking for the comp math. I would like to do this conversion outside of UE.

Thanks!

1 Like

Well, this is not relevant but - I always thought one should be able to compute the displacement map from the normal map?

You can generate “a” displacement map, but not “the” displacement map. The normal map has no height information, it only contains normals so it cannot reconstruct the original surface by itself.

There are nodes in substance designer that demonstrate this problem very well:

As you can see, when you attempt to reconstruct a heightmap from the normal data you quickly run into problems, because all of the depth information is gone.

I should note that this is not the same as the normal->roughness composite feature. You’re not generating a roughness map from the normal map, you’re essentially storing the normal data IN the roughness map, hence the name “composite texture”

It is not generating roughness from normal. It measures the amount of detail, that normal map looses during generation of mip-maps, converts this into change in roughness and adds to respective mip level of roughness map.

Say you have 4 texels in a normal. They point 10,2,4 and 8 oclock respectively. When you average em out, you will have a normal, pointing straight up. And to keep shading constent, you need to increase roughness. Likewise, if you have 4 texels with normals all pointing 12 oclock and you average them out, you will still have a normal pointing 12 oclock. In this case, there is no need to increase roughness.

1 Like