id Tech 4 (ранее известен как Doom 3 engine — рус. движок Doom 3) — игровой движок, разработанный американской компанией id Software в 2004 году. На его основе были разработаны игры Doom 3 (вместе с аддоном Doom 3: Resurrection of Evil), Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein. Движок был создан Джоном Кармаком, который ранее занимался аналогичной работой по созданию движков для игр серий Doom и Quake. Выход id Tech 4 был заметным событием в истории компьютерных игр, так как на своё время выхода он был одним из самых технологичных и инновационных игровых движков. Движок был выпущен как полностью коммерческий продукт, доступный для лицензирования сторонним компаниям, однако после выхода id Tech 5, id Tech 4 перелицензирован как свободное ПО.Движок «id Tech 4» использует OpenGL в качестве интерфейса программирования приложений (англ. API). id Tech 4 в начале планировался как расширение для движка игры Quake III. Первоначально это представлялось как полное переписывание рендеринга движка, при этом все еще сохраняя другие подсистемы, такие как доступ к файлам и управление памятью. Однако после того, как новый рендеринг стал функционален, было принято решение переключиться от языка программирования C к C++. Это потребовало полного реструктурирования и переписывания остальной части движка. Код id Tech 4 сегодня содержит очень небольшие фрагменты кода id Tech 3 (движок Quake III). Первой компьютерной игрой, использующей id Tech 4, стала игра Doom 3, выпущенная 3 августа 2004 года. Так как движок id Tech 4 является текущей технологией id Software, поэтому именно он предлагается для лицензирования сторонним компаниям. Лицензия для одной игры стоит фиксированную сумму денег: $250 000. При этом игра может выходить как на любой из поддерживаемых платформ, так и на всех одновременно. Если лицензиат хочет использовать движок в множестве игр, условия меняются. При покупке движка покупатель получает весь исходный код id Tech 4 и поддержку следующих аппаратно-программных платформ: PC, Mac, Xbox 360 и PlayStation 3. id Software гарантирует поддержку движка, чистоту и стабильность программного кода, а также своевременный выпуск необходимых обновлений к движку. Перед лицензированием покупатель может получить оценочный (пробный) SDK. В отличие от предшествующих и широко используемых игровых движков id Tech 3 (известен также как Quake III Engine), id Tech 2 (известен также как Quake II Engine) и Quake engine, движок id Tech 4 имеет существенно меньший успех в его лицензировании третьими лицами. Это особенно очевидно по сравнению с его главным конкурентом, движком Unreal Engine 3. Так, движок приобрёл лишь один сторонний разработчик (Human Head Studios) для одной игры (Prey). Причина такого провала в лицензировании id Tech 4 состоит в том, что движок разрабатывался слишком долго. id Tech 3 вышел ещё в 2000 году, и в 2002—2004 годах в id Software не было актуальной и современной технологии для лицензирования. Этим воспользовался главный конкурент id Software — компания Epic Games, которая предоставила свой движок Unreal Engine 2. В результате большинство тех, кто приобрёл Unreal Engine 2, перешли с него на Unreal Engine 3, так как эти движки довольно похожи и, соответственно, переход из одного на другой является более легким, чем переход на полностью другой движок. Недостатком движка id Tech 4 было то, что он нуждался в высокопроизводительном графическом акселераторе (например, GeForce FX или Radeon 9700), который был бы по крайней мере совместим с Direct3D 8, а также имел полностью программируемые пиксельные и вертексные (вершинные) шейдеры. К E3 2002 рекомендуемым GPU был Radeon 9700 с 128 Мб видеопамяти; в то время, как особенности Direct3D 9 не использовались движком, однако эффективность, продвинутая архитектура и 256-битная шина видеокарты Radeon 9700 были необходимыми для игры в Doom 3 с высокими настройками графики и с играемой частотой кадров. Выход id Tech 4 привёл к устареванию графических чипов класса GeForce 2, Radeon 7200 и более ранних (RIVA TNT2 и Rage 128), так как движку была необходима поддержка Direct3D 8, которая отсутствовала в этих чипах. Также движок не поддерживал программный рендеринг, который предоставляла серия интегрированных графических карт Intel GMA. В то время, до появления id Tech 4, сильный CPU мог компенсировать слабую графическую плату. Перед выходом Doom 3 Джон Кармак предостерегал геймеров, чтобы они не покупали графические платы GeForce 4 MX для игры, так как эти платы поддерживают Direct3D 7, но не Direct3D 8. Однако многие неопытные потребители ошибочно купили именно GeForce 4 MX (не поддерживающий Direct3D 8), спутав их с GeForce 4 Ti (поддерживающий Direct3D 8). Именно это заставило id Software добавить в движок поддержку GeForce 4 MX (а заодно и GeForce 2, доработанной версией которой и являлась GeForce 4 MX), делая эти видеокарты единственными Direct3D 7 — видеокартами, на которых Doom 3 запускалась. Однако были случаи, когда энтузиасты умудрялись запускать Doom 3 на не поддерживающих технологию видеокартах, таких как 3dfx Voodoo 2, однако эти видеокарты были неспособны рендерить по-пиксельное освещение и бамп-маппинг.
В id Tech 4 добавили множество новых особенностей, отсутствовавших в движке id Tech 3, который предшествовал ему. Они включали построение выпуклостей (англ. bump mapping) с использованием карт нормалей (англ. normal mapping) и бликовое освещение (англ. specular highlighting). Главным новшеством движка id Tech 4 было использование в нём полностью динамического попиксельного освещения (англ. dynamic per-pixel lighting). До этого времени все предыдущие трехмерные движки основывались прежде всего на предварительно рассчитанном освещении или картах освещения (англ. lightmaps), и несмотря на то, что динамические эффекты были доступны прежде, эффект просто изменял яркость на всем объекте. Подход, используемый в Doom 3, показывал более реалистическое освещение и тени,чем те, что были в предыдущих компьютерных играх. Унифицированное освещение и затенение — это модель распространения света, которая разработана в 2004 году компанией id Software и внедрена в игровой движок id Tech 4. Предыдущие трёхмерные игры, такие как Quake III Arena, использовали раздельные модели освещения для определения, как свет освещает игровых персонажей и окружение. Информация про освещение и затенение для игровых уровней и карт была статической, прегенерированной и заранее сохранённой, в то время как эта же информация для игровых персонажей просчитывалась в режиме реального времени (на лету). Doom 3, первая игра на движке id Tech 4, использует унифицированную модель, которая генерирует освещение и затенение «на лету». Это означает, что любые источники света влияют на всю сцену, а не только на её заранее определённую часть. К возможностям этой технологии относится возможность самозатенения (англ. self-shadowing), которое реализуется с помощью теневых объёмов (англ. shadow volumes). С использованием теневых объемов персонажи могут отбрасывать тени сами на себя: например, подбородок человека может отбрасывать тень на его грудь. Технология мегатекстуры (англ. MegaTexture) была добавлена в оригинальную версию id Tech 4. Единственная массивная текстура (32 768 x 32 768 пикселей) покрывает всю карту полигонов и высокодетализированный ландшафт. Мегатекстура может также хранить физическую информацию о ландшафте типа силы тяжести в определенных областях или указывать, какой звуковой эффект должен проигрываться, если игрок двигается по определенным частям карты, то есть ходьба по скале будет казаться отличной от ходьбы по траве.Ожидается, что использование мегатекстуры приведёт к значительно более детальной сцене, чем большинство существующих технологий, использующих так называемые «тайловые» (англ. tile) структуры, а также добавит инструмент создания ландшафта т. н. «MegaGen». На сегодняшний день технологию «Мегатекстура» использует лишь одна игра на движке id Tech 4 — Enemy Territory: Quake Wars.
|