Прогресс не стоит на месте и
постоянно появляются более новые и мощные
движки, такие как GeForce 2 GTS от NVIDIA, 3dfx от Voodoo 5 и т.п.
Игры при этом выглядят реалистичнее и более
детализированы. При этом новые технологии в этой
области в первую очередь направлены на то, чтобы
разгрузить центральный процессор. На данный
момент 3dfx использует различные способы и подходы
получения сложной картинки. Тут можно отметить
FSAA (полное сглаживание сцены). FSAA удаляет
"зубчатость", которую ты видишь на гранях
объектов. Другой подход использует перспективу и
основан на изменении масштаба изображения. Этот
эффект кстати часто используется в кино, когда
нужно сфокусироваться на чём-то. В этом случае
камера настраивает резкость на этот объект, а всё
остальное кажется расплывчатым. Но есть и другая
технология, которая использовалась и
используется довольно широко (в PC видеоиграх).
Зарождалась она примерно в течение года и только
сейчас стала популярна - преобразование
выдавливания (bump mapping).
Преобразование
выдавливания (Bump Mapping)
Преобразование выдавливания -
методика, позволяющая прибавить больше реализма
в картинку без усложнения геометрии. В сравнение
можно привести метод наложение на текстуру, в
котром для реализма изображение накладывалось
на геометрическую поверхность. Преобразование
выдавливания использует попиксельное наложение
поверхности с рельефом, что позволяет
увеличивать сложность поверхности. Таким
образом, используя свойства освещения и наличие
темных и светлых областей на текстуре,
получается более сложное геометрическое
изображение за счёт светового преломления.
При этом для этого метода очень
хорошо подходят объекты с ярко выраженной
(грубой) поверхностью: земляника, цитрус,
штукатурка, древесина, вода и т.д. Карта
представляет собой матрицу значений, которые
пропорциональны высоте объекта на небольших
участках поверхности. В дальнейшем эти значения
используются для нахождения локальных нормалей
на этих небольших участках.
Тиснённое преобразование
выдавливания (Emboss Bump Mapping)
Первый тип преобразования
выдавливания (и чаще всего используемый) -
тиснение. Эта методика позволяет генерировать
изображение по значениям матрицы без рендерения.
Этот многопроходный алгоритм - распространение и
усовершенствование тиснения текстуры (вы можете
посмотреть картинку всего процесса тут).
Идея состоит в дублировании
текстуры, наложении и сдвиге, последующем
затемнении, вырезании соответствующей формы и
смешивании уже двух текстур в одно целое. В
результате получем два прохода, так как
обрабатываются две текстуры.
Использование карты среды
в преобразовании выдавливания (Environment Mapped Bump Mapping)
Это новшество было впервые
введено в G400 графическом ряде плат Матрокса (Matrox
G400 graphic card series) и в RadeOn GPU от ATI. В настоящее время
чаще используется для обозначения аббревиатура
EMBM. Карта среды в преобразовании выдавливания
требует: карту текстуры, карту преобразования и
карту среды. Значения преобразования являются
некими весовыми коэффициентами для значений
карты текстуры. Эти коэффициенты зависят от
положения на карте среды. Результирующие
зависимости и составляют конечное изображение.
Ниже приведён пример одно и того же изображения
без применения и с применением EMBM.
На последующих изображениях
карта среды - монохромная световая карта. Если
источник света в карте среды помещён слева от
первоначального изображения, то конечный
результат напоминает типичное наложение
структуры.
К преимуществам использования
карты среды в преобразовании выдавливания можно
отнести поддержку этого метода DirectX 6 и Matrox G400.
Кроме того достоинствами являются:
- среда преобразования может размещать
многократные источники света за один прогон, так
как всё равно все эти нагрузки станут частью
среды
- в отличии от многопроходной альфа методики эта
методика не зависит от структуры и представляет
более гибкое средство разработки
- методика может также использоваться, чтобы
моделировать звуки НЧ типа отражающих волн на
поверхности воды