Рельефное текстурирование

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая NeD80 (обсуждение | вклад) в 13:49, 8 мая 2009 (Parallax Occlusion Mapping). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Сфера без рельефной текстуры.
Рельефная текстура, наложенная на изображение ниже.
Сфера геометрически идентичная первой, но с наложенной рельефной текстурой. Благодаря этому меняется реакция при затенении, в результате чего эффект бугристой поверхности делает сферу похожей на Апельсин.

Рельефное текстурирование — метод в компьютерной графике для придания более реалистичного и насыщенного вида поверхности объектов.

Bump mapping

Техника заключается в том, что отклонение каждого пикселя от нормали к поверхности просчитываемого объекта смотрится в карте высот (Wikipedia:en:heightmap) и применяется перед обсчётом освещения (см. для примера затенение по Фонгу).

Прим. Кроме описанной выше техники, называемой «Bump mapping» существует ряд альтернатив, также позволяющих придавать рельефность поверхностям. «Bump mapping» более корректно переводится как «эффект бугристой поверхности», так как в англоязычной литературе присутствует техника с названием «Relief mapping», отличающаяся от вышеизложенной.

Normal mapping

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

Parallax mapping

Данная технология также использует карты нормалей, но в отличие от normal mapping’а реализовывает не только освещение с учетом рельефа, но и сдвигает координаты диффузной текстуры. Этим достигается наиболее полный эффект рельефа, особенно при взгляде на поверхность под углом.

Parallax Occlusion Mapping

Parallax Occlusion Mapping является усовершенствованной, и в то же время одной из наиболее вычислительно сложных разновидностей Parallax Mapping. Фактически представляет собой форму локального рейтрейсинга (трассировка лучей) в пиксельном шейдере. Трассировка лучей используется для определения высот и учета видимости текселей. Иными словами, данный метод может позволить создавать еще большую глубину рельефа при небольших затратах полигонов и применении сложной геометрии. Недостаток метода — невысокая детализация силуэтов и граней.

Реализовать Parallax Occlusion Mapping возможно в рамках функционала API DX9 SM3, однако для получения оптимальной производительности видеокарта должна обеспечивать надлежащий уровень скорости исполнения ветвлений в пиксельном шейдере. На данный момент единственной компьютерной игрой, использующей Parallax Occlusion Mapping, является Crysis. Также эта технология используется в популярном бенчмарке 3DMark Vantage.

Displacement mapping

См. также