If you have procedural generation…
This is usually exported from a 3D editor, and usually in tangent space.
All aspects of shading are explained very well here