Рельефное текстурирование
Рельефное текстурирование — метод в компьютерной графике для придания более реалистичного и насыщенного вида поверхности объектов.
Bump mapping
Техника Bump mapping заключается в отклонении нормалей каждого пикселя от нормали, рассчитанной для всего полигона. Существует два простых способа - задание смещений пикселей в карте высот (алгоритм Блинна) или задание отклонения нормалей в карте нормалей. Затем к полигону применяется алгоритм освещения (например: затенение по Фонгу). В результате получается изображение с микротенями, которое намного реалистичней расчитанного с плоской моделью текстур. При этом гораздо эффективней, чем использование более сложных геометрических моделей (в том числе Displacement mapping).
Кроме описанной выше техники, существует ряд альтернатив, также позволяющих придавать рельефность поверхностям. Bump mapping более корректно переводится как «эффект бугристой поверхности», в то время как техника с названием Relief mapping, используемым в англоязычной литературе, отличается от вышеизложенной.
Normal mapping
Normal mapping - один из самых простых спобов реализации Bump mapping. Для хранения информации о рельефе используются текстуры, в которых кодируются данные об отклонении нормалей поверхности. Для создания таких текстур обычно используется высокополигональная модель, на основе которой генерируется текстура нормалей, и низкополигональная, на которую она накладывается.
Parallax mapping
Данная технология также использует карты нормалей, но, в отличие от normal mapping, она реализует не только освещение с учётом рельефа, но и сдвигает координаты диффузной текстуры. Этим достигается наиболее полный эффект рельефа, особенно при взгляде на поверхность под углом.
Parallax occlusion mapping
Parallax occlusion mapping является усовершенствованной и в то же время одной из наиболее вычислительно сложных разновидностей Parallax mapping. Фактически представляет собой форму локального рейтрейсинга (трассировки лучей) в пиксельном шейдере. Трассировка лучей используется для определения высот и учёта видимости текселей. Иными словами, данный метод позволяет создавать ещё большую глубину рельефа при небольших затратах полигонов и применении сложной геометрии. Недостаток метода — невысокая детализация силуэтов и граней.
Реализовать Parallax occlusion mapping возможно в рамках функционала API DirectX 9 Shader Model 3, однако для получения оптимальной производительности видеокарта должна обеспечивать надлежащий уровень скорости исполнения ветвлений в пиксельном шейдере. На данный момент Parallax occlusion mapping используется в некоторых компьютерных играх, например, Crysis и ArmA 2. Также эта технология используется в популярном бенчмарке 3DMark Vantage.
Displacement mapping
Эта техника, в отличие от описанных выше, изменяет геометрию поверхности по заданному полю высот, обычно передающегося в вершинный шейдер через текстуру. Преимущество в том, что освещение считается обычным способом (пиксельный шейдер может быть практически любым), но требует высокую детализацию модели.
См. также
- Особенности моделирования света: Рельефное текстурирование (Bump mapping)
- Современная терминология 3D-графики
Это заготовка статьи о компьютерной графике. Помогите Википедии, дополнив её. |