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

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

Bump Mapping — это метод компьютерной графики, позволяющий сделать визуализированную поверхность более реалистичной за счет моделирования небольших смещений поверхности. Однако, в отличие от отображения смещения , геометрия поверхности не изменяется. Вместо этого изменяется только нормаль к поверхности, как если бы поверхность была смещена. Измененная нормаль поверхности затем используется для расчетов освещения (с использованием, например, модели отражения Фонга ), придавая вид детализации вместо гладкой поверхности.
Наложение рельефа выполняется намного быстрее и потребляет меньше ресурсов при том же уровне детализации по сравнению с отображением смещения, поскольку геометрия остается неизменной.
Существуют также расширения, которые изменяют другие особенности поверхности в дополнение к увеличению ощущения глубины. Двумя такими расширениями являются отображение параллакса и отображение горизонта . [4]
Основное ограничение рельефного отображения заключается в том, что оно возмущает только нормали к поверхности, не изменяя при этом саму основную поверхность. [5] Таким образом, силуэты и тени остаются неизменными, что особенно заметно при больших моделируемых смещениях. Это ограничение можно преодолеть с помощью таких методов, как отображение смещения, когда к поверхности наносятся неровности, или использование изоповерхности .
Методы [ править ]
Существует два основных метода выполнения рельефного картирования. Первый использует карту высот для моделирования смещения поверхности, что дает модифицированную нормаль. Это метод, изобретенный Блинном. [2] и обычно это так называемое рельефное отображение, если не указано иное. Этапы этого метода суммируются следующим образом.
Прежде чем будет выполнен расчет освещения для каждой видимой точки (или пикселя ) на поверхности объекта:
- высоту Найдите на карте высот , соответствующую положению на поверхности.
- Вычислите нормаль к поверхности карты высот, обычно используя метод конечных разностей .
- Объедините нормаль к поверхности, полученную на втором этапе, с истинной («геометрической») нормалью к поверхности так, чтобы объединенная нормаль указывала в новом направлении.
- Рассчитайте взаимодействие новой «ухабистой» поверхности с источниками света в сцене, используя, например, модель отражения Фонга .
В результате получается поверхность, которая кажется настоящей глубиной. Алгоритм также гарантирует, что внешний вид поверхности изменится при перемещении источников света в сцене.
Другой метод — указать карту нормалей , которая содержит измененную нормаль непосредственно для каждой точки на поверхности. Поскольку нормаль задается напрямую, а не выводится из карты высот, этот метод обычно приводит к более предсказуемым результатам. Это облегчает работу художникам, что делает этот метод наиболее распространенным сегодня методом рельефного отображения. [3]
рельефного картирования в времени реальном Техники

Слева:
- растровое изображение поверхности, намеренно размытое,
- растровое изображение источника света,
- эффект рельефного отображения с вращением источника света по орбите траектория.
3D-графики в реальном времени Программисты часто используют варианты этого метода, чтобы имитировать рельефное отображение с меньшими вычислительными затратами.
Одним из типичных способов было использование фиксированной геометрии, которая позволяет практически напрямую использовать нормаль к поверхности карты высот. В сочетании с заранее рассчитанной справочной таблицей для расчета освещения этот метод можно реализовать с помощью очень простого и быстрого цикла, позволяющего добиться полноэкранного эффекта. Этот метод был распространенным визуальным эффектом , когда впервые было представлено рельефное отображение.
См. также [ править ]
Ссылки [ править ]
- ^ «Картирование рельефа и окружающей среды» (PDF) . ics.uci.edu .
- ↑ Перейти обратно: Перейти обратно: а б Блинн, Джеймс Ф. «Моделирование морщинистых поверхностей» , Компьютерная графика, Том. 12 (3), стр. 286–292 SIGGRAPH -ACM (август 1978 г.)
- ↑ Перейти обратно: Перейти обратно: а б Миккельсен, Мортен (2008). «Возврат к моделированию морщинистых поверхностей» (PDF) . п. 7 (раздел 2.2). Архивировано (PDF) из оригинала 26 мая 2019 г. Проверено 5 августа 2011 г.
- ^ Лендьел, Эрик (июль 2019 г.). Основы разработки игровых движков, Том 2: Рендеринг . ООО «Тератон Софтвер». ISBN 978-0-9858117-5-4 .
- ^ Синтез рельефных карт в реальном времени , Ян Каутц 1 , Вольфганг Хайдричи 2 и Ханс-Петер Зайдель 1 , ( 1 Институт компьютерных наук Макса Планка, 2 Университет Британской Колумбии)
Внешние ссылки [ править ]

- Затенение рельефа для объемных текстур , Макс, Н.Л., Беккер, Б.Г., Компьютерная графика и приложения, IEEE, июль 1994 г., том 14, выпуск 4, страницы 18–20, ISSN 0272-1716
- Простое создание векторов для каждого пикселя в оттенках серого для работы карты рельефа и многое другое.
- Пример Bump Mapping ( Java-апплет )