Лучше всего процесс процедурного текстурирования представить в виде блоков (операторов). Существует три типа блоков:
генераторы
фильтры
вспомогательные
Каждый генератор и фильтр реализует какой-либо процедурный алгоритм. Каждый блок имеет совокупность параметров.
Даже если не использовать такую схему все равно она сводится к этому общему случаю.
Для создания «природных» текстур, таких как дерево, гранит, металл, камни, лава в качестве фильтров используются фрактальный шум (англ.fractal noise) и ячеистые текстуры (англ.cellular textures).
Свойства процедурных текстур:
Обратимость. В процедурной текстуре сохраняется вся история её создания.
Малый размер (если в качестве исходных данных к процедурным алгоритмам выступают только числовые значения).
Неограниченное количество вариаций при использовании стохастических (использующих генератор псевдослучайных чисел) алгоритмов.
Масштабируемость до любого размера (зависит от процедурного движка/библиотеки).
Одновременно с итоговой текстурой очень легко получаются alpha-, bump-, reflect-карты.