Intel добавила в Quake Wars трассировку лучей
Специалисты корпорации Intel 10 июня представили журналистам результаты своих исследований в сфере трассировки лучей (raytracing) — технологии, которая способна поднять графику в играх на принципиально иной уровень. Главным героем демонстрации был движок Enemy Territory: Quake Wars, переписанный Intel.
В обычных играх графический процессор пытается определить, какого цвета миллионы мелких треугольников, из которых состоят модели в сцене, какую тень может отбрасывать модель. Все, что связано с освещением, имитируется с той или иной степенью достоверности при помощи хитрых приемов, которые из года в год придумывают программисты.
Трассировка лучей — один из немногих понятных непосвященным алгоритмов. Он предполагает, что во все стороны от наблюдателя вылетает множество лучей. Они отражаются, теряют цвет, часть улетает в никуда, некоторые гаснут. Остатки попадают в глаз наблюдателя, формируя изображение. Примерно так же видит человеческий глаз (только лучи разлетаются от солнца).
Киношники давно применяют трассировку лучей в блокбастерах. Применение этого метода открывает перед создателями игр огромные возможности — фотореалистичная картинка, «настоящая» вода и стекло, отражение в зеркале всего окружающего мира.
Есть одно но. Для трассировки лучей нужны огромные вычислительные мощности. Настолько огромные, что представители Nvidia, занимающей добрую половину рынка видеокарт, в марте 2008 года публично заявили, что будущее за гибридными алгоритмами, так как трассировка лучей слишком медленная.
Игровой суперкомпьютер
Enemy Territory: Quake Wars стала первой игрой, которую удалось запустить в режиме трассировки лучей в стандартном режиме телевидения высокой четкости: 1024 на 720 пикселей. Для этого Intel пришлось собрать 16-ядерную машину, работающую на четырех четырехъядерных процессорах Tigerton на тактовой частоте в 2,93 гигагерца.
В качестве операционной системы использовалась 64-битная ОС на базе ядра Linux. Новый движок раз за разом посылал от наблюдателя по три миллиона лучей во все стороны. Частота смены кадров при этом составляла от 14 до 29 в секунду — вполне можно играть.
Результат, которого добились исследователи, при внимательном изучении картинки поражает. Это размытые тени под объектами, физически правильная вода, реалистичные стеклянные поверхности. Так, в демонстрации был показана сцена с двумястами окнами, каждое из которых правильно отражает свет.
Идеологом применения технологии трассировки лучей в играх в Intel является Дэниэл Поль (Daniel Pohl). В 2004 году в Эрлангенском университете (Erlangen University) в Германии он узнал о работе профессора Шлюсаллека (Slusallek), который исследовал методы
Поль выступил с идеей применить данные наработки в играх. Он переписал движок Quake III, используя открытый программный интерфейс трассировки лучей под названием OpenRT. Чтобы играть в такой Quake, понадобился виртуальный Intel-совместимый процессор, состоящий из 20 настоящих процессоров AMD XP1800.
Даже сейчас освещение, тени и отражения в этой игре выглядят очень не плохо. Желающие также могут увидеть Quake 3 Raytraced в динамике.
Неудивительно, что вслед за Quake 3 в 2006 году последовала Quake 4 с поддержкой трассировки лучей. Там появились, например, зеркальные монстры, в которых отражается окружающий мир, а также изменяющие форму стеклянные поверхности и отличная физическая модель воды.
Неудивительно, что вскоре Поль оказался сотрудником Intel и уже в начале 2008 года делал доклады о зависимости числа ядер у процессора и скорости расчетов в его системе трассировки лучей. Он даже показал трассировку лучей на портативном компьютере Sony — правда, разрешение демонстрации оставляло желать лучшего.
В настоящее время Intel работает над программным интерфейсом IntelRT для трассировки лучей и графическим процессором под кодовым названием Larrabee, у которого будет от 16 до 24 ядер. Предполагается, что именно Larrabee будет первой серийно выпускаемой видеокартой, поддерживающей трассировку лучей.
Если почитать описания Larrabee, просочившиеся в прессу, то можно заметить повторяющееся слово fantastic. В основном оно относится к архитектуре Larrabee, который будет обладать не собственным набором инструкций, а знакомым программистам по обычным процессорам архитектуры x86.
Larrabee появится на рынке хорошо если в 2010 году. Это оставляет место для спекуляций. Кое-кто утверждает, что даже тогда видеокарта Intel вряд ли будет обладать функциями, необходимыми для трассировки лучей в реальном времени. Они появятся еще лет через пять.
Когда появятся игры, поддерживающие Larrabee, никто не знает.