Bump-маппинг

15.08.2007 Антон Волков

Bump-mapping — имитация рельефа на поверхности с помощью специальной текстуры высот. Используется практически во всех современных 3D-играх.

Функция экспериментальная, не оптимизированная. Не факт, что пойдёт в игру.

Bump-mapping

Управление:

  • Пробел — добавить источник света
  • Q — переключение качества отрисовки (почти не влияет на скорость расчётов)

Комментарии (3) на “Bump-маппинг”

  1. just Says:

    Я правильно понимаю, что для каждого полигона хранится по дополнительной карте для кажого источника света? И перерисовывается в соответствие с ними/ней? Можешь рассказать каким именно способом реализовано (в трех словах), потому как в инете много точек зрения на реализацию бампа, тем более что твой подход явно не будет похож на них из-за Flash-реализации.

  2. Антон Волков Says:

    Карта хранится не для полигона, а для целой группы — поверхности. Это видно на демке UV-маппинга. Для каждого источника её хранить смысла нет, т.к. она меняется, а если не меняется, то и не зачем пересобирать.

    По сути, при изменении освещения поверхности берём базовую текстуру, расчитываем параметры источников и бросаем стандартный фильтр BevelFilter через карту выпуклостей. Собираем всё вместе и получаем нужный эффект.

    Почему Flash-подход к реализации бампа нестандартен? Потому что работа с растром напрямую во Flash реализована черезчур медленно (а до 8-й версии её вообще не было). Спасибо Макромедии (тогда ещё), что сделали неплохой набор быстрых растровых фильтров (кстати, в новом плеере обещают ускорить их работу на многоядерных машинах путём выделения в отдельный поток). Собирая из них хитрые конструкции можно добиваться совсем не стандартных эффектов (как, например, на skovorodka.com было сделано разливание жидкости).

  3. Albinа Says:

    работа с растром напрямую во Flash реализована черезчур медленно ?

Оставить комментарий

(Регистрация)

Powered by WP Hashcash