Трассировка лучей – метод 3D-визуализации, сочетающий изящество концепции с чрезвычайной вычислительной затратностью. Невозможность реализации данного алгоритма в реальном времени служила незыблемой аксиомой в течение 30 лет его существования. А сегодня эта аксиома рушится у нас на глазах.
Первого апреля сего года на малоизвестном малайзийском сайте Tech ARP, специализирующемся на обзорах компьютерного «железа», была опубликована сенсационная заметка. Согласно информации, которую авторы почерпнули из «конфиденциальных источников», интерфейс DirectX 11, будто бы ожидаемый с SP2 для Windows Vista, будет рассчитан на аппаратную акселерацию трассировки лучей. Известно: во всякой шутке есть доля правды. В данном случае самым информативным аспектом сообщения стала скорость его распространения по ИT-блогам и новостным сайтам (включая русскоязычные). Это была поистине стремительность лесного пожара, тушение которого потребовало официального опровержения от Microsoft! А ведь авторы «утки» не потрудились придать своему розыгрышу даже поверхностную достоверность. В частности, последняя страница заметки содержит такую реакцию, будто бы высказанную представителями VIA перед лицом переворота в 3D-графике: «Для нас в этой новости нет ничего примечательного. Мы в компьютерные игры не играем и вам не советуем».
Масштабность последствий этого первоапрельского розыгрыша (к которой стоит присмотреться составителям Книги рекордов Гиннеса) говорит о том, как сильно разогрето общественное мнение и насколько подготовлена почва для маркетинговых ходов, связанных с внедрением трассировки лучей в реальном времени.
Отметим еще одно неожиданное сальто: похоже, понятие «интегрированная графика от Intel» избавляется от унизительных ассоциаций с бухгалтерскими ПК и превращается в мечту игромана.
Монстр в зеркальных доспехах из Quake Wars в версии Intel |
Двигателем прогресса в области визуализации в реальном времени является игровая индустрия. Насколько она заинтересована в методах трассировки лучей? Трудно представить, чье мнение по данному поводу могло бы весить больше, чем мнение Джона Кармака из id Software, а он считает, что эту заинтересованность не следует переоценивать. Трезвомыслящий Кармак указывает, что тонкие явления вроде многократных переотражений имеют для игрока значение лишь в первые минуты погружения в игру, а продемонстрированная Intel способность игр прошлого поколения работать в режиме трассировки лучей не может служить для игровой индустрии весомым доводом в пользу целесообразности его поддержки в играх будущего.
Станет ли таким весомым доводом движок Tech 6 от id Software, находящийся пока на начальных этапах проектирования? Последнее поколение технологии MegaTexture в Tech 5 практически снимает ограничения на сложность текстурирования. А Tech 6 может это сделать в отношении геометрической сложности сцены! Что будет достигнуто, по мнению Кармака, за счет использования разреженных октарных деревьев (sparse octrees) – структур данных, ускоряющих трассировку и улучшающих качество текстурирования сцен, состоящих из большого количества маленьких примитивов. Именно в таких сценах будет происходить действие игр следующего поколения. Дело в том, что прямые линии суть абстракции, не встречающиеся в природе, и потому сцена, претендующая на реалистичность, должна состоять из криволинейных поверхностей. Для того чтобы последние не выглядели угловатыми, количество треугольников в аппроксимирующем их многограннике должно быть сопоставимо с числом пикселов, занимаемых на экране растрированным образом во всевозможных ракурсах. Из этого следует, что общее число треугольников, составляющих модель бескомпромиссно реалистичной 3D-сцены, должно превосходить количество пикселов современных дисплеев и исчисляться миллионами. Такое изобилие треугольников может свести на нет выигрыш в производительности, присущий алгоритмам растрирования, поскольку они требуют обработки (прорисовки или отбраковки) всех примитивов в сцене – даже тех, что занимают на экране меньше пиксела, тогда как в трассировке участвуют лишь те примитивы, с которыми пересекается какой-нибудь луч.
Описание 3D-геометрии и текстур в виде разреженного октарного дерева – один из ключевых методов акселерации трассировки лучей, в рамках которого они рекурсивно разбиваются секущими плоскостями на сегменты, что позволяет существенно ускорить вычисление точек их пересечения с визуализируемыми поверхностями. К сожалению, применимость метода ограничена статическими сценами. Сегодня оптимизация представления объектов изменчивой формы – область бурной исследовательской активности (иллюстрация с сайта evasion.imag.fr) |
С точки зрения отношения изображения к реальности растрирование и трассировка подобны живописи и фотографии. Не зря один из методов растрирования называется «алгоритмом художника» (в его рамках устранение невидимых поверхностей достигается за счет того, что близко расположенные объекты «рисуются» поверх объектов заднего плана). Оптический тракт фотокамеры можно рассматривать как узкоспециализированный аналоговый компьютер, реализующий «графические вычисления», подобно алгоритму трассирования лучей, т. е. по законам реального мира. Этим фотокамера отличается от художника, чья техника имитации действительности имеет с законами распространения света весьма косвенную связь. Впрочем, надо отметить, что великие имитаторы действительности вроде Гольбейна доказали достижимость для достаточно искусного художника практически безукоризненного фотореализма. Сходным образом и алгоритмы растрирования теоретически могут развиться до такого уровня, что отличить их трассировщика по результатам работы будет затруднительно.
По количеству же вычислительных затрат на условную единицу отображенной информации растрирование и трассировка подобны алфавитно-цифровым и графическим видеоадаптерам. В 1980-х – начале 1990-х годов разработчики алфавитно-цифровых видеоадаптеров, стремившиеся приблизить вид экранного текста к привычным бумажным документам, прибегали к таким ухищрениям, как внедрение «псевдографики», улучшение цветового и пространственного разрешения символов и даже предоставляли программистам возможность устанавливать шрифты. Минуло немало времени, прежде чем удешевление вычислительных ресурсов сделало алфавитно-цифровые режимы работы видеоадаптеров полностью неактуальными. Сходным образом и традиционные алгоритмы растрирования не сдадут своих позиций без продолжительного сопротивления. Тем более что потенциал их совершенствования далеко не исчерпан.
Алгоритмы растрирования отнюдь не исчерпали потенциала реалистичности. Один из последних примеров – отлично совместимая с традиционными видеоакселераторами разработка Технического университета Будапешта , позволяющая получать отражения, преломления и даже каустику с помощью специально модифицированных текстур. Их текселы дополняются информацией о расстоянии до центров объектов с отражающими и преломляющими поверхностями |
Вспомним, что в производстве блокбастеров трассировка и растрирование мирно уживаются (несмотря на то, что бюджеты фильмов позволяют обеспечить более чем достаточную вычислительную мощность). Трассировка и растрирование хороши для разных целей, и известно много способов их объединения в пределах одного изображения. Поэтому драматическое противопоставление трассировки лучей растрированию в заметках об Intel Larrabee имеет отчасти искусственный характер. Нагнетание страстей вокруг этого мнимого противостояния заставляет вспомнить о недавней войне форматов носителей высокой плотности. В таких ситуациях ажиотаж будет выгоден обеим воюющим сторонам, ибо он повышает уровень общественной информированности о hi-tech, облегчая тем самым привлечение потребителей. Да и отвлекает от крамольной мысли, на которую может навести кого-то феноменальный успех игровой приставки Nintendo Wii, не блещущей графическими возможностями: «А нужна ли мне более мощная графика?»