Новости про DirectX

Эмулятор OpenGL ES 2.0 с помощью Direct3D 9

Хотя OpenGL ES 2.0 становится обычным делом на мобильных платформах, далеко не все ПК готовы к его поддержке.

Стандарт OpenGL ES 2.0 создавался для мобильных платформ на основе OpenGL 2.0, причём исключительно на базе программируемой шейдерами части. Вместе с тем, сам OpenGL 2.0 далёк от повсеместного распространения и на ПК. К примеру, интегрированные графические ядра Intel лишь начиная с X3500 получили поддержку OpenGL 2.0, мало того, IGP-компаньоны новых процессоров Atom для Windows поддерживают максимум OpenGL 1.5. А ведь OpenGL ES 2.0 лежит в основе стандарта трёхмерной графики в Интернет WebGL.

Выходом может стать проверенный метод — врапперы в Direct3D. Разработкой такого враппера ANGLE занялись съевшие собаку на вопросах преобразований графических API программисты из Transgaming, известные своими продуктами SwiftShader (с помощью которого была решена та же проблема для конкурирующего с WebGL стандарта O3D от Google) и Cider/Cedega. Проект пока находится на ранней стадии разработки, но если о удастся, проблема поддержки великого множества компьютеров, особенно нетбуков, будет решена.

Разрабатывается эффективный программный рендер для Linux

Программный рендеринг тоже бывает востребован.

В рамках проекта llvmpipe в составе графической архитектуры Gallium 3D разрабатывается программный растризатор с использованием многопоточности. Программный растризатор OpenGL всегда существовал в составе библиотеки Mesa3D, но его эффективность оставляла желать много лучшего, в то время как коммерческие решения вроде SwiftShader уже достаточно давно обеспечивали достаточно высокую эффективность эмуляции Direct3D, и даже Microsoft начала проект полноценного «запасного» программного рендеринга в архитектуре DirectX под названием WARP.

«Эмулятор» в составе llvmpipe уже в значительной части завершён для пиксельных шейдеров и начаты работы над реализацией вершинной части. По сообщениям разработчика, игра на основе движка Quake 3 OpenArena в системе с процессором Intel Xeon E5405 (четыре ядра, 2 ГГц) с программным рендерингом работает со скоростью 25 FPS, против 3,5 FPS с эмуляцией Mesa3D.

Программный рендеринг полезен в системах, где нет аппаратного ускорителя или доступ к нему сильно затруднён, а необходимо отображать не слишком сложную трёхмерную графику, например в виртуальных машинах и в серверах.

Just Cause 2 будет поддерживать 3D Vision

Еще одна выходящая в этом месяце игра будет поддерживать стереотехнологию.

Менеджер Square Enix по связям с общественностью Mike Oldman дал интервью порталу IGN.com, в котором раскрыл технические детали относительно ПК-версии готовящейся игры Just Cause 2. Прежде всего, список улучшений ПК-версии:

  • поддержка DirectX 10 и 10.1;
  • оптимизация под дву- и четырёхъядерные процессоры;
  • поддержка NVIDIA 3D Vision (игра уже прошла сертификацию!);
  • поддержка многокарточных конфигурация SLI и CrossFire;
  • поддержка многомониторных конфигураций, включая ATI Eyefinity;
  • поддержка геймпада XBox 360;
  • новый спецэффект Bokeh filter для видеокарт NVIDIA, для создания фотореалистичного оптического эффекта;
  • улучшенное формирование поверхности воды для видеокарт NVIDIA;
  • SSAO, мягкие тени, улучшенная система частиц;
  • специальный режим бенчмарка;
  • поддержка возможностей Steam;

Также были подтверждены ранее озвученные системные требования, но не требования для 3D Vision, которые, как мы помним по Metro 2033, обычно заметно выше.

Ниже мы приводим выдержку прочих фактов из интервью:

  • Игра оптимизирована для четырёхъядерных процессоров, два ядра — необходимый для игры минимум.
  • Поддерживаются 64-битные операционные системы Windows, но точного ответа, будет ли native 64-bit executable, не поступило.
  • Игра поддерживает рендеринг одновременно на трёх дисплеях в рамках Eyefinity.
  • Движок использует многие возможности Direct3D 10 и 10.1, включая сглаживание по методу мультисэмплинга, работа с Direct3D 11 поддерживается, но специфические функции не используются.
  • Расширенные настройки качества будут включать мягкие границы теней и объектов, состоящих из частиц, а также три уровня качества SSAO.
  • Движок специально адаптирован для NVIDIA 3D Vision и многокарточных конфигураций SLI/Crossfire, оптимизируя работу при обнаружении данных возможностей.
  • Улучшенное формирование поверхности воды основано на использовании NVIDIA CUDA и заимствовано из реальных симуляторов океана.
  • Прирост производительности от использования SLI/Crossfire в игре достигает 50-70 %.
  • Расширенные устройства управления, вроде джойстиков и мультимедийных клавиатур, в игре поддерживаться не будут. Но, поскольку игра выходит под маркой «Games for Windows», будет полная поддержка контроллера XBox 360, и даже режим автоматического переключения управления с клавиатуры и мыши на геймпад и наоборот, в зависимости от активности устройства.
  • Игра создавалась с расчётом на широкоформатные мониторы, но соотношения и разрешения будут настраиваемыми.
  • Загружаемый контент запланирован и для PC, он станет доступен одновременно с DLC для консольных версий.
  • Пользовательские модификации поддерживаться не будут, как не будет выпущено официального инструмента для их создания.
  • Вся защита от нелегального копирования и использования будет завязана на Steam. Steam будет также основой для многопользовательского режима.

Выход игры ожидается 23 марта в Северной Америке и 26 марта в Европе, для PC, XBox 360 и PlayStation 3 одновременно.

Технические подробности о Metro 2033

ПК-версия игры хорошо оптимизирована и действительно отличается от консольной.

Журналисты сайта Eurogamer.net взяли интервью у ведущего специалиста студии 4A Games, разрабатывающей игру Metro 2033, выход которой ожидается в середине марта, и получили технические спецификации движка игры. Мы приводим некоторые факты из интервью:

  1.  Движок игры не заимствован у S.T.A.L.K.E.R., хотя некоторые сотрудники 4A ранее и работали в GSC. Движок X-Ray не подходит для современных игр, особенно многоплатформенных — он плохо поддерживает многопоточность, потребляет большой объём ОЗУ, сетевые функции никуда не годятся, а LUA-скрипты заставляют дизайнеров думать как программисты, что идёт в ущерб их основной работе.
  2. Движок Metro 2033 использует многопоточность, но без жесткого выделения задач в отдельные потоки (за исключением процесса PhysX) — общая нагрузка равномерно распределяется на все доступные ядра, по крайней мере до 6 потоков для PlayStation 3. Распараллеливание производится таким образом, что между потоками игры нет взаимозависимостей и блокировок.
  3. Версия для PlayStation 3 не планируется, но движок полностью готов к портированию при возникновении необходимости, включая полную поддержку Cell и RSX. Тем не менее, в студии недостаточно разработчиков с опытом выпуска игр на PS3, в то время как инструменты от Microsoft многократно облегчили выпуск для платформы XBox 360, позволив портировать игру всего за 19 дней.
  4. Для запуска игры в Windows 7 вполне будет достаточно любой системы с более чем 512 Мб RAM и видеокартой с поддержкой DirectX 10 или 11. А вот владельцам DirectX 9 видеокарт следует запастись дополнительным объёмом оперативной памяти из-за дублирования ресурсов видеопамяти в ОЗУ.
  5. Из-за сильной ориентированности на многопоточность для игры будет практически необходим двуядерный процессор. Архитектура Intel Atom тоже не подойдёт.
  6. В игре будут объёмный туман, текстуры с разрешением до 2048x2048 (в ПК-версии), улучшенная физика PhysX, мягкие тени, эффекты parallax mapping, а в системах с DirectX 11 будет использоваться теселляция, увеличивающая геометрическую детализацию персонажей и монстров по мере приближения к ним.
  7. Использование вычислительных шейдеров в DirectX 11 позволит значительно улучшить быстродействие. Многие пост-эффекты вроде DOF или motion blur после переписывания с пиксельных на вычислительные шейдеры накладываются вдвое быстрей.
  8. Всё освещение в игре будет полностью динамическим. Благодаря использованию Deferred lighting, в некоторых сценах число источников света может доходить до 150.
  9. Для XBox 360 версии игры 4A реализовала свой алгоритм полноэкранного сглаживания вместо стандартного суперсэмплинга. Специальный шейдер определяет нуждающиеся в сглаживании части изображения, удваивает их разрешение и масштабирует вниз до исходного размера, эффективно устраняя большинство дефектов и снижая вдвое нагрузку на GPU консоли.
  10. При отключенном Vsync игра выдает в большинстве сцен 40-50 FPS на Xbox 360. 
  11. AI противников в игре адекватен в вопросах обнаружения игрока: визуальный обзор ограничен 120°, а «слух» зависит от источника шума и расстояния до него.

Технические подробности о Battlefield: Bad Company 2

Детали о поддержке DirectX 11, графике, игровой физике и новые скриншоты.

Журналисты сайта PCGamesHardware.com взяли интервью у продюсера ПК-версии выходящего в начале марта шутера Battlefield: Bad Company 2 Anders Gyllenberg о технических деталях движка игры. Мы приводим выдержку фактов из интервью:

  • При разработке игры не было предпочтений какой-либо платформе, версии для PC, Xbox 360 и PlayStation 3 разрабатывались вместе.
  • Тем не менее, в ПК-версии учтены особенности и преимущества компьютеров. В игре будет корректная поддержка мониторов с соотношениями 16:10 и 4:3, настраиваемые анизотропная фильтрация, FSAA и Ambient Occlusion. Игра сможет использовать Direct3D 9, 10 и 11.
  • Движок Frostbite, хотя и не использует модные техники рендеринга Deferred shading/lighting, предложит улучшенные эффекты SSAO (HBAO), DOF, систему частиц и мягкие тени (последние — только для DirectX 11).
  • Игра использует шейдеры версии 5 и ряд других оптимизаций DirectX 11, но будет хорошо работать и на видеокартах с поддержкой лишь шейдеров 3/4. Однако, владельцам DirectX 9 решений ряд функций движка будет недоступен, включая полноэкранное сглаживание, HBAO и мягкие тени.
  • Движок оптимизирован для четырёхъядерных процессоров, рендеринг, анимация, физика, звук — большинство функций многопоточны. Однако, специальные техники многопоточности DirectX 11 не использовались.
  • За физику в игре отвечает Havok, поскольку только с этим движком в данный момент удалось реализовать разрушаемые ландшафты. Все физические вычисления многопоточны, использование GPU для ускорения физики в DICE считают делом будущего.
  • В бета-версии не было FSAA из-за наличия лишь Direct3D 9-рендера и использования некоторых функций DirectX, несовместимых со сглаживанием.
  • Игра будет поддерживать многомониторность ATI Eyefinity и стереорежим NVIDIA 3D Vision. Поддержка 3D Vision Surround, возможно, будет добавлена в будущем.
  • Bad Company 2 не является 64-битным приложением — игра использует лишь немногим более 1 Гб оперативной памяти на ПК.
  • Движок Frostbite содержит свой программный режим объёмного звучания и не использует EAX.
  • Полноэкранное сглаживание в игре будет реализовано через MSAA, суперсэмплинг не используется.

В Assassin`s Creed 2 не будет ни DirectX 10, ни DirectX 11

Разработчики игры приняли решение в пользу максимальной унификации PC-версии с версией для XBox 360.

Сайт PCGamesHardware.com взял интервью у ведущего программиста 3D движка Assassin`s Creed 2 David Champagne из Ubisoft о грядущей ПК-версии игры. Мы приводим основные факты из интервью:

  1. Игра будет использовать тот же рендер, что и версия для XBox 360. Отличия ПК-версии будут заключаться лишь в поддержке FSAA уровня до 8х, в сравнении с 2х на консолях, и больших, чем FullHD, разрешений.
  2. В игре не будет использоваться Direct3D 10 и 11, поскольку затраты на их реализацию и отладку слишком высоки. В Ubisoft вполне удовлетворены качеством графики Direct3D 9, кроме того, таким способом достигается наилучшая производительность. Напомним, что первая часть Assassin`s Creed поддерживала Direct3D 10, и даже Direct3D 10.1 (поддержка последнего, впрочем, была убрана впоследствие патчем).
  3. При всём при этом графический движок игры улучшен, прежде всего в части работы с освещением, включая динамическую смену дня и ночи, микроосвещение (spot lights) и улучшенные отражения.
  4. Поддержка многоядерных процессоров и HyperThreading во второй части улучшена. Игра может распараллеливаться вплоть до восьми логических или физических ядер. Большинство функций игры, включая AI, физику, анимацию и рендеринг используют многопоточность, что обеспечивает заметное повышение производительности в многоядерных системах.
  5. Физика в игре является частью движка, в Ubisoft не рассматривали возможность использования PhysX. Физические расчеты не будут выделяться в отдельный вычислительный поток.
  6. В Ubisoft не планируют отказываться от поддержки DirectX 9 и Windows XP, во всяком случае пока по данным статистики Steam такие системы все ещё имеются у 40% игроков.

Весьма жаль, что экономия бюджета за счёт унификации игры с игровыми консолями в очередной раз победила преимущества новых технологий на PC. Выход игры на ПК ожидается 16 марта.

ATI Stream SDK 2.01 с улучшенной поддержкой OpenCL

AMD дорабатывает средства GPGPU для разработчиков приложений.

Новая версия 2.01 пакета Stream для неграфического использования GPU AMD содержит изменения «средней тяжести»:

  • ATI Stream Profiler теперь полностью интегрируется в среду Microsoft Visual Studio 2008;
  • поддержка Red Hat® Enterprise Linux версии 5.3;
  • поддержка отладки ядра приложений OpenCL с помощью отладчика GNU в среде Linux;
  • предварительная реализация взаимодействия OpenCL и Direct3D 9/10;
  • четыре новых примера;
  • поддержка отдельно загружаемого средства анализа производительности Stream KernelAnalyzer;
  • исправление множества проблем с компиляцией и исполнением OpenCL;
  • поддержка разработки на Radeon HD 5670 и 5570.

Загрузить пакет ATI Stream можно с сайта AMD для 32- и 64-разрядных версий OpenSUSE, RHEL, Ubuntu, Windows XP, Vista и 7.

Наиболее интересным представляется запрятанная в нёдрах Release Notes улучшенная поддержка ATI CAL, низкоуровневого API для AMD GPU, являющегося эквивалентом CUDA driver-level API у NVIDIA. Теперь можно использовать CAL и OpenCL в одном приложении, и даже запускать OpenCL-программы при неустановленном драйвере Catalyst, что будет востребованным в серверной среде. ATI CAL также позволяет достичь большей производительности с графическими процессорами AMD предыдущих поколений, чья совместимость с OpenCL ограничена.

А вот что не исчезло, так это проблемы с работой OpenCL в системах с установленными реализациями как от AMD, так и от NVIDIA. Разработчикам по-прежнему, как в цирке, приходится перебрасывать из руки в руку библиотеки OpenCL.dll от конкурентов для отладки универсального приложения.

Поддержка Direct3D в Linux будет выпущена с закрытым исходным кодом

Zack Rusin был вынужден огорошить ожидающих слишком многого от VmWare.

Новость о планах Thungsten Graphics по созданию аппаратного ускорения Direct3D в архитектуре открытых графических драйверов Gallium3D в Linux создала много шума, и её источник решил остудить пыл как «пингвинопоклонников», так и «пингвинопротивников». В новом сообщении в своём блоге Zack Rusin разъяснил позицию своей компании. Реализация аппаратного ускорения Direct3D 9 уже некоторое время имеется в коммерческих продуктах виртуализации от VmVare, и разработка интерфейсов ускорения Direct3D 10 планируется лишь как её развитие. Исходный код данных наработок VmWare открывать не планирует.

Zack Rusin справедливо отметил, что одного ускорения функций Direct3D мало для полноценного портирования Windows-игр в Linux — есть еще уйма отличий между платформами. Выигрыш получат прежде всего виртуальные машины, возможно проект WINE, но последнему пока неплохо удаётся реализация конверсии вызовов Direct3D в OpenGL, и вполне возможно, что этого пути им и стоит придерживаться.

Аппаратное ускорение Direct3D в Linux

Ведутся работы по добавлению интерфейсов аппаратного ускорения функций Direct3D в архитектуру открытых графических драйверов Gallium3D.

Сотрудник Tungsten Graphics (в настоящее время подразделение VmWare) Zack Rusin в своем блоге рассказал о планах по реализации функций API Direct3D версий 10 и 11 в Gallium3D. Zack Rusin верит, что подобная работа поможет разработке открытой графической архитектуры в целом. Особый интерес вызывает реализация ускорения геометрических шейдеров и функции «dual-source blending», позволяющей значительно ускорить качественный рендеринг текста. Также будут продолжены работы по реализации OpenCL через Gallium3D.

Впрочем, это будет далеко не первой попыткой реализации Direct3D в Linux. Проект поддержки Windows-приложений в Linux WINE на протяжении нескольких последних релизов улучшал компонент Direct3DOpenGL враппера и даже послужил основой для неофициальных релизов Direct3D 10 для Windows XP. Но реализация ускорения Direct3D на уровне Gallium3D, хотя и не является напрямую средством запуска 3D Windows-программ в Linux/Unix, позволит значительно повысить быстродействие для графики виртуальных машин c Windows и того же WINE. Также, несколько ранее и независимо от объявления Zack Rusin, появился концепт Direct3D 9-ускорения для Gallium3D.

DXVA Checker версии 2.2.0.1

Небольшое исправление программы.

Утилита DXVA Checker позволяет проверить поддерживаемые видеокартой/интегрированным графическим ядром возможности по ускорению декодирования и вывода видео в рамках API DirectX DXVA. В новой версии 2.2.0.1 исправлены проблемы с запуском программы.

Загрузить последнюю версию утилиты можно с официального сайта (~0,3 Мб).