Второе интервью с Тимом Свини (часть 1)
Во второй части своего интервью ресурсу TG Daily, Тим Свини, разработчик Unreal Engine и глава Epic Games рассказывал о меняющейся ситуации в разработке игр: визуализация в будущем может измениться кардинально и DirectX может стать куда менее важным API, чем сейчас. Наследники PlayStation 3 и Xbox 360 могут вовсе не использовать графический ускоритель.
Второй главной темой интервью стало обсуждение использования графических процессоров для вычисления задач общего назначения, и Свини уверен, что процессоры и видеокарты уже скоро столкнутся в битве за доминирование в ПК и лишь один из двух победит.
TG Daily: В предыдущей части интервью вы утверждали, что программная визуализация может вернуться. Даниэль Пол (Daniel Pohl), который переписал движок Quake 3 и Quake 4 для использования метода трассировки лучей при расчете освещения (сейчас он уже работает в качестве исследователя Intel), показал недавно трассировку лучей в реальном времени на ультрамобильном ПК от Sony с одноядерным процессором. Конечно, разрешение этого устройства достаточно низкое, однако этот факт все равно впечатляет. Что вы думаете о методе трассировки лучей? Каким путем пойдут 3D разработчики в будущие несколько месяцев и лет?
Sweeney: Трассировка лучей — отличное направление для будущих техник визуализации в реальном времени. Есть пять или десять различных методик и все они очень интересны для нового поколения визуализации в реальном времени.
Трассировка лучей в будущем может выполняться на центральном процессоре. Когда процессоры будут обладать достаточным количеством ядер и улучшенным вычислением векторных операций, это станет актуальным для использования в играх. С другой стороны, видеокарты становятся более универсальными, так что разработчики смогут создать графический движок, исполняющийся прямо на графическом процессоре в обход DirectX. Например, визуализацию можно реализовать через CUDA и исполнять на аппаратуре NVIDIA, не задействовав при этом блоки растеризации и т. д.
Все программные технологии визуализации используют в качестве входящей информации некоторые данные о сцене, позиции объектов, карты текстур и прочие данные, а в качестве выхода получают таблицу пикселей. Можно использовать различные техники для создания этой таблицы. Для этого совсем не обязательно использовать блоки растеризации в графическом процессоре.
TG Daily: Какие преимущества может дать работа без какого-либо API? Большинство разработчиков использует DirectX или OpenGL. Чем отличается Unreal Engine от общепринятого подхода?
Sweeney: В уклонении от использования какого-либо графического API, от запросов к нему и его ограничений есть огромные преимущества. С прямым доступом к оборудованию мы можем использовать техники, например, требующие более широкого кадрового буфера, чем поддерживаемый в DirectX. В Epic мы используем шейдерные блоки в графическом процессоре для расчетов общего назначения. Очень многое можно реализовать просто полностью обойдя весь графический конвейер видеокарты.
TG Daily: Какая роль DirectX сейчас? Модель DirectX 10 и Windows Vista обещает такие вещи как новые эффекты и упрощенный доступ к оборудованию. DirectX 10 был на рынке некоторое время и сейчас уже вышла новая версия этого API — DirectX 10.1. Что пошло правильно, что нет?
Sweeney: Я не думаю, что произошло
Я думаю, что DirectX 10 является лишь небольшим улучшением DX9. В свое время DirectX 9 предложил пиксельные и вершинные шейдеры. DirectX 10 лишь развил DX9, предложив геометрические шейдеры и множество функций и режимов. Он не изменил подход к графике, в отличие от DX9 в свое время, который был гигантским шагом вперед по сравнению с DirectX 7 и DirectX 8.
Источник: TG Daily