stringtranslate.com

Рельефное отображение

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

Bump mapping [1] — метод текстурного отображения в компьютерной графике для имитации неровностей и морщин на поверхности объекта. Это достигается путем возмущения нормалей поверхности объекта и использования возмущенной нормали во время расчетов освещения. Результатом является явно неровная поверхность, а не гладкая, хотя поверхность лежащего в основе объекта не изменяется. Bump mapping был введен Джеймсом Блинном в 1978 году. [2]

Нормальное отображение является наиболее распространенной вариацией рельефного отображения. [3]

Принципы

Bump mapping ограничен тем, что он не изменяет форму базового объекта. Слева математическая функция, определяющая bump map, имитирует осыпающуюся поверхность на сфере, но контур и тень объекта остаются такими же, как у идеальной сферы. Справа та же функция используется для изменения поверхности сферы путем создания изоповерхности . Это моделирует сферу с неровной поверхностью, в результате чего и ее контур, и ее тень отображаются реалистично.

Bump mapping — это метод в компьютерной графике, позволяющий сделать визуализированную поверхность более реалистичной, имитируя небольшие смещения поверхности. Однако, в отличие от offset mapping , геометрия поверхности не изменяется. Вместо этого изменяется только нормаль поверхности, как если бы поверхность была смещена. Затем измененная нормаль поверхности используется для расчетов освещения (например, с использованием модели отражения Фонга ), создавая видимость деталей вместо гладкой поверхности.

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

Существуют также расширения, которые изменяют другие характеристики поверхности в дополнение к увеличению ощущения глубины. Картографирование параллакса и картографирование горизонта — два таких расширения. [4]

Основное ограничение при использовании bump mapping заключается в том, что оно возмущает только нормали поверхности, не изменяя саму лежащую под ней поверхность. [5] Таким образом, силуэты и тени остаются неизменными, что особенно заметно при больших моделируемых смещениях. Это ограничение можно преодолеть с помощью методов, включая offset mapping, когда к поверхности применяются выпуклости, или с помощью изоповерхности .

Методы

Существует два основных метода выполнения bump-картирования. Первый использует карту высот для имитации смещения поверхности, что дает измененную нормаль. Это метод, изобретенный Блинном [2] , и обычно его называют bump-картированием, если не указано иное. Шаги этого метода суммируются следующим образом.

Перед тем, как выполнить расчет освещения для каждой видимой точки (или пикселя ) на поверхности объекта:

  1. Найдите на карте высот высоту , соответствующую положению на поверхности.
  2. Рассчитайте нормаль к поверхности карты высот, обычно используя метод конечных разностей .
  3. Объедините нормаль поверхности из шага два с истинной («геометрической») нормалью поверхности так, чтобы объединенная нормаль указывала в новом направлении.
  4. Рассчитайте взаимодействие новой «неровной» поверхности с источниками света в сцене, используя, например, модель отражения Фонга .

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

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

Методы рельефного отображения в реальном времени

Пример фальшивого рельефного отображения в реальном времени.
Слева направо:
  1. поверхность растрового изображения, намеренно размытая,
  2. источник света растровое изображение,
  3. Эффект рельефного отображения с траекторией вращения источника света.

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

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

Смотрите также

Ссылки

  1. ^ «Картирование рельефа и среды» (PDF) . ics.uci.edu .
  2. ^ ab Blinn, James F. "Моделирование морщинистых поверхностей", Computer Graphics, т. 12 (3), стр. 286-292 SIGGRAPH -ACM (август 1978 г.)
  3. ^ ab Mikkelsen, Morten (2008). "Повторное моделирование морщинистых поверхностей" (PDF) . стр. 7 (Раздел 2.2). Архивировано (PDF) из оригинала 2019-05-26 . Получено 2011-08-05 .
  4. ^ Лендьел, Эрик (июль 2019 г.). Основы разработки игровых движков, том 2: Рендеринг. Terathon Software LLC. ISBN 978-0-9858117-5-4.
  5. ^ Синтез рельефных карт в реальном времени, Ян Каутц 1 , Вольфганг Хайдрихи 2 и Ханс-Петер Зайдель 1 , ( 1 Институт Макса Планка по информатике, 2 Университет Британской Колумбии)

Внешние ссылки