Рельефное текстурирование
Рельефное текстурирование — метод в компьютерной графике для придания более реалистичного и насыщенного вида поверхности объектов.
Bump mapping
Техника заключается в отклонении нормалей каждого пикселя от нормали, рассчитанной для всего полигона. Простейший способ - задание отклонений в карте высот (поле высот). Полученные нормали используются в алгоритме освещения (см. для примера: затенение по Фонгу).
Кроме описанной выше техники, называемой Bump 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-графики
Это заготовка статьи о компьютерной графике. Помогите Википедии, дополнив её. |