Второе интервью с Тимом Свини (часть 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 — это хороший API. Когда Windows Vista только вышла, приложения DirectX 10 обычно работали медленнее, чем DirectX 9, однако это было ожидаемо. Просто все дело в том, что ребята, производящие оборудование, в течение лет и сотен человеко-часов оптимизировали свои DirectX 9 драйверы. В случае с DirectX 10, им пришлось начинать все заново. В последние недели и месяцы мы наблюдаем тенденцию, кода DX10 драйверы достигли по производительности DX9 и начинают их обходить.

Я думаю, что DirectX 10 является лишь небольшим улучшением DX9. В свое время DirectX 9 предложил пиксельные и вершинные шейдеры. DirectX 10 лишь развил DX9, предложив геометрические шейдеры и множество функций и режимов. Он не изменил подход к графике, в отличие от DX9 в свое время, который был гигантским шагом вперед по сравнению с DirectX 7 и DirectX 8.

Источник: TG Daily

©  nvWorld.ru