Найти тему
Планетные истории

Современное состояние в синтеза текстур

Оглавление

Введение

Текстурирование - это основной процесс для приложений компьютерной графики. Процесс текстурирования можно разделить на три компонента:

  1. Получение текстур;
  2. Отображение текстур;
  3. Рендеринг текстуры;

Все это включает в себя широкий круг вопросов, таких как доступ, выборка и фильтрация. Хотя исходную текстуру можно получить различными методами, такими как рисование вручную или фотография, синтез текстуры на примере (KWLT07) остается одним из самых мощных методов, поскольку он работает с большим разнообразием текстур, прост в использовании пользователю нужно только предоставить пример и обеспечивать высокое качество печати.

В результате получается произвольно большая выходная текстура, визуально похожая на образец и не содержащая неестественных артефактов или повторений. Синтез текстур не только упрощает создание текстур, но и дает преимущества другим частям рендерного конвейера.

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

В этой статье мы рассказываем о состоянии дел, например, на основе синтеза текстуры. В дополнение к всестороннему освещению современных методов, данный отчет может также послужить руководством для начинающего, которому легко следовать.

Данный отчет также предоставляет видение для опытных читателей, заинтересованных в проведении дальнейших исследований.

Что такое текстуры?

Текстурное картирование - это стандартный метод представления деталей поверхности без явного моделирования геометрии или свойств материала. Нанесенное на карту изображение, обычно прямоугольное, называется текстурной картой или текстурой.

https://www.pinterest.ru/pin/119697302582094707/
https://www.pinterest.ru/pin/119697302582094707/

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

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

Это определение текстуры более ограничено, чем понятие текстуры в графике. Однако, поскольку большая часть природных поверхностей состоит из повторяющихся элементов, такое более узкое определение текстуры все еще достаточно мощно для описания многих свойств поверхности.

В данной статье мы сосредоточимся на более узком определении текстур, т.е. изображений, содержащих повторяющиеся образцы. Поскольку естественные текстуры могут содержать интересные вариации или несовершенства.

Количество случайностей может варьироваться для различных текстур, от стохастических (песчаный пляж) до детерминированных (кафельный пол).

Что такое синтез текстур?

Текстуры можно получить из различных источников, таких как рисунки, нарисованные вручную, или сканированные фотографии.

Нарисованные вручную картины могут быть эстетически приятными, но трудно сделать их фотореалистичными. Более того, не все являются художниками, и обычным людям может быть сложно придумать хорошие текстурные образы - есть определенная профессия в игровых и киностудиях под названием "Текстура", задачей которого является производство высококачественных текстур.

https://www.pinterest.ru/pin/376191375115275873/
https://www.pinterest.ru/pin/376191375115275873/

Сканированные изображения, однако, могут быть недостаточного размера или качества, например, содержащие неравномерное освещение, тени или геометрию, и могут привести к видимым швам или повторениям при непосредственном использовании для отображения текстур.

Альтернативным способом создания текстур является синтез текстур. Он является общим и простым в использовании, так как пользователю достаточно предоставить только входной образец и небольшой набор параметров синтеза.

Выходные данные могут быть любого размера без неестественного повторения. Синтез текстур также позволяет получать черепичные изображения при правильной обработке граничных условий.

Произвольное поведение Маркова

Несмотря на то, что на протяжении всей истории было предложено множество текстурных моделей, на сегодняшний день наиболее успешная модель для графических приложений основана на MRF (Markov Random Field).

Таким образом, в остальной части статьи мы сосредоточимся в основном на алгоритмах, основанных на MRF.

Методы случайного поля Маркова моделируют текстуру как реализацию локального и стационарного случайного процесса. То есть каждый пиксел текстурного изображения характеризуется небольшим набором пространственно соседних пикселей, и эта характеристика одинакова для всех пикселей.

Интуиция, лежащая в основе этой модели, может быть продемонстрирована следующим мыслительным экспериментом.

Представьте себе, что зрителю дают изображение, но позволяют наблюдать его только через небольшое подвижное окно. При перемещении окна зритель может наблюдать за разными частями изображения.

Изображение является неподвижным, если при соответствующем размере окна наблюдаемая часть всегда выглядит похожей. Изображение является локальным, если каждый пиксел предсказуем из небольшого набора соседних пикселей и не зависит от остальной части изображения.

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

Размер района является определяемым пользователем параметром и должен быть пропорционален размеру признаков текстурных узоров. Исходя из предположения MRF, сходство местных соседей между входом и выходом также гарантирует их перцептивное сходство. Помимо этого, алгоритм синтеза текстуры должен быть эффективным и управляемым.