Статистика |
Онлайн всего: 8 Гостей: 8 Пользователей: 0 |
|
Главная » 2010 » Сентябрь » 16 » Секреты Relic Entertainment. Часть 1.
09:44 Секреты Relic Entertainment. Часть 1. |
Со мной вряд-ли будет кто-то будет спорить, о том, что Relic отличная компания. Homeworld, Warhammer 40K: Dawn of War и Company of Heroes – это игры которые мне очень нравятся. Я решил зареверсить последние новинки этой компании, и начал с W40K: DoW – Dark Crusade.
Готовы узнать страшную тайну? :) В игре полностью FFP’шный рендер! Fixed Function Pipeline, то есть совсем без шейдеров! Честно признаться, это было для меня полной неожиданностью.
Исследование, как обычно, проходило на максимальных настройках графики.
Движок отличается хорошей сортировкой объектов по рендерстейтам и текстурам. DIP’ов не много.
Отрисовка сцены начинается с земли. Простые квадратные патчи. На экран помещается 5-6, при стандартном положении камеры. Используются 2 текстурки:
и
Первая делает имитацию бликов на земле. Блендятся они линейной интерполяцией, используя альфа канал диффузной текстуры, который выглядит вот так:
Результат после первого прохода:
Далее второй проход для земли. Накладываются детали на землю, используя стандартный альфаблендинг. Примеры текстурок с деталями (зелено-красные клетки показывают альфу):
--
Затем поверх рисуются тени от зданий и юнитов, рытвины от взрывов, и т.д. Используются примерно такие текстуры:
После всего этого следует ещё 1 проход, в котором накладывается лайтмапа, туман войны и вот такая странная 2-х тексельная текстурка (я её увеличил и добавил рамочку, так как белое на белом смотрится не очень:) ):
Это альфаканал. Сама она белая. Текстурными координатами для неё является позиция вертекса в пространстве камеры (D3DTSS_TCI_CAMERASPACEPO>SITION), умноженная на матрицу странного вида. После долгих (и тщетных) попыток понять всю эту хитрую математику логически, я запустил игру и стал приглядываться, пытаясь обнаружить что-то визуально. Единственное, что я заметил, так это темная полоса посреди экрана. Уверен, что это и есть эффект, который даёт эта текстура, хотя для чего это было сделано остается загадкой. Кто знает, может, без этой хитрости, картинка резко отличается в худшую сторону? :)
Лайтмапа земли:
Туман войны в формате LUMINANСE8. Считается на CPU:
Результат таков:
Далее следует небо. На меш в форме купола накладывается текстура вот такого вида:
которая блендится с константным цветом, по-видимому, для аттенюации (я тут не до конца разобрался). Текстура неба сделана так, чтобы нижняя её часть совпадала с цветом тумана, который используется на уровне. Таким образом достигается бесшовный переход цветов.
Когда отрисовка неба закончена, начинается рендеринг объектов. Формула простая: диффузная текстура + туман войны + та самая, хитрая 2-х тексельная текстурка . Постоянно включено солнышко – первый directional источник. Пример текстуры объектов:
Юниты отображаются абсолютно аналогично. Скининг на CPU. Диффузная текстура:
Системы частиц. Тут всё стандартно. Далее идут маркеры под юнитами, рамка под выделенным зданием (рисуется каждая сторона прямоугольника отдельно, что очень странно), и т.д.
Последним идет UI. DPUP’ов нет (слава богу), но всё поэлементно. Текстуры для UI не в атласах (что тоже странно). Каждая кнопочка – отдельная картинка. Текст блоками.
Вот и всё. W40K: DoW – это ярчайший пример заруливания арта и дизайнерской работы. Сказать больше нечего. После таких вот откровений, мне стало очень интересно, а как дело обстоит в Company of Heroes? Помня о том, что там я видел шадоумапы (да, их можно сделать на FFP, но только на NVidia аппаратуре), я понимал, что вряд-ли встречу чистый FFP во второй раз. Единственное, что могу сказать сейчас, так это то, что CoH таит в себе не меньшее количество сюрпризов. :) Часть 2 не за горами. Stay tuned!
|
Категория: Новости |
Просмотров: 342 |
Добавил: muchand
| Рейтинг: 0.0/0 |
|
|
|