Процедурное текстурирование

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Процедурная текстура решетки пола, созданная редактором текстур Genetica.

Процедурное текстурирование — метод создания текстур, при котором изображение текстуры создается с помощью какого-либо алгоритма (процедурного алгоритма).

Лучше всего процесс процедурного текстурирования представить в виде блоков (операторов). Существует три типа блоков:

  • генераторы
  • фильтры
  • вспомогательные

Каждый генератор и фильтр реализует какой-либо процедурный алгоритм. Каждый блок имеет совокупность параметров. Даже если не использовать такую схему все равно она сводится к этому общему случаю.

Для создания «природных» текстур, таких как дерево, гранит, металл, камни, лава в качестве фильтров используются фрактальный шум (англ. fractal noise) и ячеистые текстуры (англ. cellular textures).

Свойства процедурных текстур:

  • Обратимость. В процедурной текстуре сохраняется вся история её создания.
  • Малый размер (если в качестве исходных данных к процедурным алгоритмам выступают только числовые значения).
  • Неограниченное количество вариаций при использовании стохастических (использующих генератор псевдослучайных чисел) алгоритмов.
  • Масштабируемость до любого размера (зависит от процедурного движка/библиотеки).
  • Одновременно с итоговой текстурой очень легко получаются alpha-, bump-, reflect-карты.

Существует класс программ, позволяющих воспользоваться преимуществами процедурной генерации текстур. Такими программами являются: Adobe Photoshop, Adobe Substance Designer, Adobe After Effects, Blender, Corel PhotoPaint, Autodesk 3ds Max, Autodesk Maya, Modo, Filter Forge, Genetica, MaPZone, DarkTree, Texture Maker, .werkkzeug.

C использованием процедурных текстур были выпущены игры:

См. также

Ссылки