В DirectX 11 дебютирует трассировка лучей
🕛 11.04.2008, 16:23
Недавно Microsoft представила Windows Vista SP1, который принес обновление графического API DirectX (чему несказанно рада, в первую очередь, ATI, поскольку только ее карты поддерживают DirectX 10.1). Однако, уже сегодня стали известны подробности о следующей версии DirectX - DirectX 11.Cлучайно ли то, что NVIDIA намерена внедрить поддержку DirectX 10.1 лишь в GeForce 9600 GT и GeForce 9800 GX2? Стоит сказать, что компания отнеслась к DirectX 10.1 как к незначительному обновлению графического API. Тем не менее, у компании на это есть свои причины: шесть лет назад на конференции SIGGRAPH 02 Дэвид Кирк (David Kirk), глава исследовательского отдела в NVIDIA, говорил о трассировке лучей (ray tracing):
"Вы спросите, когда графические конвейеры станут настолько программируемыми, чтобы их можно было эффективно использовать для трассировки лучей и других технологий глобального освещения?" Я считаю, что уже сейчас, прямо сейчас! Так как графические процессоры становятся все больше и больше программируемыми, расширяется и разнообразие алгоритмов, которые могут быть просчитываться графическим процессором.
Как часть этого вопроса, я регулярно спрашиваю у художников и программистов в киностудиях и студиях по созданию эффектов, какие функции и какая гибкость им нужна для рендеринга на графических процессорах, на что они отвечают, что они никогда бы не смогли делать рендеринг на аппаратном обеспечении! И что же они теперь используют: цветные карандаши? Фактически, они используют существующие ныне аппаратное обеспечение в виде программируемых процессоров общего назначения. Я считаю, что в будущем конвергенция между реалистичным рендерингом и его реализацией в реальном времени будет находится в использовании высоко программируемых видеопроцессоров специального назначения".
С тех пор NVIDIA хранила молчание о реальных шагах, сделанных в сторону трассировки лучей, как будущего трехмерных игр. Например, архитектуры процессоров G80 и его наследника G92/94 были разработаны как программируемые для общего назначения. NVIDIA даже создала гибридный рендер трассировки лучей из графического и центрального процессоров под названием Gelato, чтобы использовать новые графические процессоры общего назначения.
Но и ATI не сидела в стороне. Хотя они хвастались преимуществами DirectX 10.1 по сравнению с DirectX 10, ребята в ATI - не дураки. Они видели зловещие предзнаменование. Это одна из причин, почему ATI была выбрана для слияния с AMD.
Нет необходимости говорить, что и Intel вела активные разработки в данной области. Для компании будет очень выгодно, если трассировка лучей придет на рынок, так как в отличие от растеризации, трассировка лучей лучше всего работает на многопроцессорных системах. Трассировка лучей также избавляет от необходимости использовать видеочипы, которые использовались в течение последних несколько лет.
В октябре 2007 года Джеффри Ховард (Jeffrey Howard), написал две статьи в Research@Intel о работах компании над трассировкой лучей (первая статья и вторая статья). В первой упоминалась работа Даниэля Пола (Daniel Pohl), суть которой была в том, чтобы модернизировать движок Quake IV так, чтобы он работал с движком трассировки лучей от Intel. Только после перехода на 8 ядерный процессор Даниэль смог достигнуть 100 кадров в секунду при разрешении 1280х1024. При использовании 16-ядерного процессора вы удвоите количество кадров и так далее.
Это выводит нас к Microsoft. Даже они знают, что выход DirectX 10.1 не сделает Windows Vista более привлекательной для геймеров. О разнице в изображении при использовании DirectX 10 и DirectX 9 было написано множество статей и все они сходятся в одном - разница не такая уже и значительная.
Сейчас, конечно же, трассировка лучей может стать чем-то абсолютно другим. Посмотрите на скриншот, представленный Intel. Видите разницу в изображении между растовым изображением и изображением с использованием трассировки? Отметьте более реалистичные тени и освещение на изображении с трассировкой лучей. Перешли бы вы на Windows Vista, если бы это позволило вашим играм так выглядеть? Черт побери, да!
Согласно конфиденциальному источнику в Microsoft, в DirectX 11 компания Microsoft решила перейти с растеризации на трассировку лучей. Также компания планирует, что DirectX 11 будет готов к моменту выхода Windows Vista SP2. Чтобы сделать это, компания также решила сделать его на x86-архитектуре и на базе движка по трассировке лучей от Intel. Есть слухи, что Intel не только "предложила" свой движок Microsoft, но это уже совсем другая история.
Так как сейчас идет работа над DirectX 11, то у Microsoft нет четкого плана выхода. Но источники заявляют, что DirectX 11 может стать частью Windows Vista в конце 2008 года. Срок разработки планируется очень небольшим, так как большая часть работ уже сделана силами Intel. Совпадение?
Вам не нужно беспокоиться о своих старых растровых DirectX10-совместимых или более старых видеокартах. DirectX 11 будет продолжать поддерживать растеризацию. Просто он также будет включать в себя поддержку трассировки лучей. В DirectX 11 будет два режима работы, которые будут основываться на возможностях аппаратного и программного обеспечения.
Очевидно, DirectX 11 будет даром для всех, а особенно для Microsoft и Intel. AMD и ATI тоже могут от этого получить приличную пользу. Но NVIDIA может столкнуться с проблемами.
Так как компонент DirectX 11 по трассировке лучей будет разработан вокруг x86-архитектуры, то у Intel и AMD-ATI не будет проблем с выпуском видеокарт, поддерживающих DirectX 11. С другой стороны, NVIDIA придется начать с нуля или лицензировать стороннюю технологию, или купить x86-команду из VIA (бывшую Cyrix). Очевидно, что они не смогут делать общий бизнес с AMD.
Что же сделает NVIDIA? Интересно будет посмотреть. Мы абсолютно уверены в том, что в NVIDIA слышали о решении Microsoft использовать наработки Intel как основу для DirectX 11. Мы можем поспорить, что эти ребята сделают все, чтобы выпустить свое решение. Учитывая все это, выходит так, что DirectX 11 с поддержкой трассировки лучей находятся от появления на свет всего лишь в нескольких месяцах. NVIDIA, возможно, и упустила свой шанс с DirectX 10.1, но есть все шансы быть успешной с DirectX 11, также как это было в случае с DirectX 10.