A way of grouping a node graph so that it can be used as a single node. Material functions are little snippets of material graphs that can be saved in packages and reused across multiple materials.
Applying complex math to define how a texture appears on a material.