Инженер Valve так старательно исправлял 3D-освещение, что ему пришлось сказать всем производителям видеокарт, что их математика неверна, и реакция была такой: "Я вас ненавижу".

Инженер Valve так старательно исправлял 3D-освещение, что ему пришлось сказать всем производителям видеокарт, что их математика неверна, и реакция была такой: "Я вас ненавижу".

  • 06.12.2024

Икона компьютерных игр, Half-Life 2, недавно отметила свое 20-летие, и Valve сделала все возможное, выпустив новое крупное обновление, объединяющее игру с ее эпизодами и добавляющее трек с комментариями. Студия также выпустила двухчасовой документальный фильм о создании игры и о том, что происходило в Valve во время ее разработки, который изобилует увлекательными отступлениями о задачах, которые она ставила перед собой. Одной из них было освещение.

Разработка Half-Life 2 была основана на том, что многие сотрудники описывают как "технический wishlist", на полную реализацию которого ушло шесть лет и который был абсолютно фундаментальным для того, чего Valve хотела добиться от игры.

"[Это] было главной особенностью, чтобы свет чувствовался очень, очень реалистичным и интуитивным благодаря движку Source и работе, сотрудничеству между художниками и инженерами", - говорит ведущий художник Half-Life 2 Виктор Антонов, прежде чем представить нашего героя. "Кен Бердвелл, он был фанатом фотографии и правильного освещения."

Кен Бердвелл был одним из самых первых сотрудников Valve (он покинул компанию в 2016 году) и, как почти каждый сотрудник Valve, за время работы носил несколько шляп: Но его с полным правом можно назвать необычайно талантливым компьютерным инженером. На ныне несуществующем сайте Half-Life была опубликована биография Бердвелла, в которой перечислялись некоторые из его проектов: "внутрисхемные эмуляторы (CodeTap), 3D-реконструкция поверхностей (Surfgen), инструменты для проектирования 3D-протезов (Shapemaker) и спутниковые сети (Microsoft's Broadcast PC)". Он также написал одну из первых графических оболочек для многопользовательских онлайн-игр для Compuserve's Sniper."

Антонов действительно преуменьшает значение фотографии. В 1980-х годах Бердвелл работал в TeleCalc (компания по разработке программного обеспечения для B2B) и, очевидно, накопил достаточно денег, чтобы заняться своими увлечениями после ухода: В 1990-94 годах он изучал живопись, фотографию и анимацию в Evergreen State University и получил степень бакалавра изящных искусств. Возвращаясь к Valve и Half-Life, следует отметить, что в первую очередь он работал над анимацией и искусственным интеллектом первой игры (а также придумал идею G-Man). Когда на свет появился Half-Life 2, в мире, пожалуй, не было никого более подходящего для того, чтобы заняться передовым освещением, которое требовалось Valve. Конечно, он сразу же заметил проблему.

"Математика, которую мы использовали, была неправильной", - говорит Бердвелл. "И не только это, математика, которую использовали все, была неправильной. И когда я начал ее исправлять, я понял, насколько она плоха... а потом я ее исправил, и все вдруг стало выглядеть великолепно!

"Мне пришлось пойти и сказать ребятам из отдела аппаратного обеспечения, людям, которые делали аппаратные ускорители, что на их картах математика в корне неверна. На это ушло около двух с половиной лет. Я не мог убедить ребят, и в конце концов мы наняли Гэри Мактаггарта [из 3DFX] и Чарли Брауна, и у этих ребят было достаточно влияния и достаточно... У меня гуманитарное образование, меня никто не будет слушать"."

Сообщите мне новости и предложения от других брендов Future Получайте от нас сообщения от имени наших надежных партнеров или спонсоров Отправляя свои данные, вы соглашаетесь с Правилами и условиями и Политикой конфиденциальности и достигли возраста 16 лет. Документальный фильм Half-Life 2: 20-летие - YouTube Half-Life 2: 20th Anniversary Documentary - YouTube Смотреть дальше

Давайте остановимся на этом моменте. Бердвелл улыбается, произнося последнюю фразу, и мы это допускаем, потому что этот парень так сильно исправил математику, используемую для освещения, что производители видеокарт были вынуждены изменить свою математику. Я счел эту мысль слишком увлекательной, чтобы оставить ее без внимания, и обратился к Бёрдвеллу, чтобы спросить, не мог бы он немного расширить ее.

"Это немного технический момент, - начинает Бёрдвелл, - но простая версия такова: видеокарты того времени всегда хранили RGB-текстуры и даже отображали все как нелинейные интенсивности, то есть 8-битное значение RGB 128 кодирует пиксель, который примерно на 22 % ярче, чем значение 255, но графическое оборудование выполняло расчеты освещения, как будто все было линейным.

"В результате освещение всегда выглядело неправильно. Если вы пытались затенять что-то изогнутое, то затемнение из-за угла поверхности, направленного в сторону от источника света, становилось темнее слишком быстро. Как и в примере выше, то, что должно было выглядеть на 50 % ярче, чем при полной интенсивности, на дисплее выглядело лишь на 22 % ярче. Это выглядело очень неестественно, вместо красивой кривой все затенялось слишком экстремально, округлые формы выглядели странно преувеличенными, и не было никакого способа заставить все работать в общем случае."

Бирдвелл говорит, что это остается "очень распространенной графической ошибкой" и даже сегодня некоторые области программирования требуют от кодера "помнить, что все растровые значения, вероятно, нелинейны, вы не можете просто сложить их вместе или смешать их или смешать их с линейными вычислениями без учета того, в каком "гамма-пространстве" вы работаете."

Хорошая новость заключается в том, что "современные видеокарты теперь знают все это" и во время выполнения автоматически преобразуют любые нелинейные форматы "в линейные значения с плавающей запятой внутри видеокарты до того, как произойдет математическое вычисление, так что это намного проще. Но это сейчас."

Причиной того, что сейчас все именно так, вероятно, является специальность "Изобразительное искусство".

"На протяжении 90-х годов и, возможно, до начала 2010-х это было не так", - говорит Бердвелл. Когда я указывал на это производителям графического оборудования в 99-м и начале 2000-х годов, я получал ответ: "Вы только что указали на то, что мои чипы в корне неисправны, пока мы не разработаем совершенно новый кремний, я вас ненавижу". Это был не самый веселый разговор. Он проходил стадии отрицания, гнева, торга и т. д., и все это в быстрой последовательности с каждым новым производителем.

"Я был очень рад передать эти разговоры недавно нанятым программистам графики HL2 Гэри Мактаггерту и Чарли Брауну, которые прорабатывали все это шаг за шагом на протяжении многих лет."

Пытаясь связаться с Бердвеллом, я обнаружил не связанный с ним патент, выданный Valve в 2007 году, в котором он указан в качестве изобретателя. Патент #20070195090 называется "Определение освещенности моделей с помощью абстракций окружающего окружения" и вкратце описывает "систему и метод определения освещенности модели в виртуальном окружении". В нем очень подробно рассказывается об инновациях Бердвелла, и, даже если это не имеет ничего общего с тем, что он описывает выше, становится ясно, что этот человек - своего рода бог освещения в видеоиграх.

Продюсер Билл Ван Бюрен в другом месте документального фильма говорит, что в Half-Life 2 было три ключевых принципа, и освещение было частью первого. "Сделать что-то захватывающее, - говорит Ван Бюрен, - визуально очень богатое и привлекательное, что-то больше похожее на то, что вы увидите в фильме, а также художественное направление и технологии, чтобы это произошло."

Valve, безусловно, добилась этого: Half-Life 2 и сегодня выглядит потрясающе. И за это достижение ответственны многие и многие люди. Но именно благодаря Кену Бердвеллу освещение выглядит так хорошо, и он проделал настолько выдающуюся работу, что можно утверждать, что каждая последующая игра выиграла от этого: Или, говоря по-другому, наши видеокарты, безусловно, выиграли.

Последние новости о Half-Life 2


Последние новости