Нормалмаппинг

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

Собственно, нормалмапппинг такой же дешевый метод добавления детализации объектам как и бампаппинг. Применяется к довольно простым моделям, не использующих большую геометрическую сложность. Наиболее интересное применение этой техники — существенное улучшение детализации моделей с низким количеством полигонов с помощью карт нормалей. Карты нормалей содержат подробное описание поверхности, если сравнивать с бампмаппингом, благодаря чему позволяют создавать более сложные модели и формы. Карты нормалей — наиболее эффективный способ для того, чтобы хранить подробные данные о поверхностях, в сравнении с использованием огромного количества полигонов. Единственно ограничение только в том, что они не очень хорошо подходят для крупных деталей, потому что нормалмаппинг не добавляет полигонов  и не меняет форму объекта, он только это имитирует. Это не более, чем симуляция деталей, основанная на расчетах на пиксельном уровне. Это очень хорошо заметно на краях объекта и при больших углах наклона поверхности.

Самым разумным решением будет использование нормалмаппинга для того, чтобы сделать мало полигональный объект достаточно детальным и, применять карту нормалей для добавления объекту более мелких деталей. Карты нормалей создаются на базе двух версий модели, одна из которых многополигональна, а другая наоборот. Низкополигональные модели содержат минимум геометрии, а высокополигональные состоит из всего, что максимально повышает детализацию. После чего, они сравниваются друг с другом при помощи утилит, разница между ними сохраняется в карте нормалей. для ее создания можно прибегать и к карте высот, так как очень мелкие детали тяжело смоделировать даже в высокополигональной модели. Изначально карты нормалей представлены в виде RGB-структур, где каждый компонент цвета соответствует координатам Х, Y, Z. Тексель в карте нормалей представлен в виде нормали точки поверхности. Карты нормалей бывают двух видов: с координатами в общей системе координат или же в локальной системе координат треугольника. Чаще всего используется именно второй вариант. Когда карты нормалей представлены в общей системе координат, то они должны иметь все три компонента, в то время как в системе координат треугольника обойтись можно и двумя, а третью получить уже в пиксельном шейдере.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *