идентификатор технологии 4


id Tech 4 , широко известный как движок Doom 3 , — игровой движок, разработанный id Software и впервые использованный в видеоигре Doom 3 . Движок был разработан Джоном Кармаком , который также создал предыдущие игровые движки, например, для Doom и Quake , которые широко признаны значительным достижением в этой области. Этот игровой движок на основе OpenGL также использовался в Quake 4 , Prey , Enemy Territory: Quake Wars , Wolfenstein и Brink . id Tech 4 лицензируется на условиях GNU General Public License v3.0 или более поздней версии .

id Tech 4 начинался как усовершенствование id Tech 3 . Во время разработки изначально это была просто полная переписка рендерера движка , при этом сохранились другие подсистемы, такие как доступ к файлам и управление памятью. Решение перейти с C на язык программирования C++ потребовало реструктуризации и переписывания остальной части движка; сегодня, хотя id Tech 4 содержит код из id Tech 3, большая часть его была переписана. [3]

На QuakeCon 2007 Джон Кармак , ведущий разработчик графического движка в id, сказал LinuxGames : «Я имею в виду, что не буду называть дату, но исходный код Doom 3 будет открытым». И, как и его предшественники, Джон Кармак заявил, что id Tech 4 будет выпущена с открытым исходным кодом . [4]

На QuakeCon 2009 Кармак заявил, что планирует обратиться к ZeniMax Media с просьбой опубликовать исходный код id Tech 4 после выпуска Rage . [5] В своем выступлении на QuakeCon 2011 он подтвердил, что исходный код Doom 3 будет опубликован к концу года, после выхода Rage . [6]

16 ноября 2011 года Кармак объявил в Твиттере , что пишет новый код для версии Doom 3 с открытым исходным кодом, потому что «юристы все еще настороженно относятся к патентной проблеме, связанной с« реверсом Кармака »». [7] Это относится к реализации алгоритмов теневого объема с трафаретной буферизацией .

22 ноября 2011 года Кармак опубликовал исходный код Doom 3 под GNU GPL-3.0 или более поздней версии на GitHub . [8] Исходный код не содержит кода «Обратного Кармака». По словам Кармака, в код были внесены незначительные изменения, чтобы избежать каких-либо нарушений. [9]