Новости про OpenGL

Драйвер ATI Catalyst с поддержкой OpenGL 4.0

Новая версия API уже доступна для видеокарт AMD Radeon.

После утверждения спецификаций OpenGL 3.3 и 4.0 выпуск драйверов с предварительной их поддержкой от AMD и NVIDIA был лишь вопросом времени. NVIDIA отреагировала первой, но вследствие отсутствия в арсенале новых GPU со всеми требуемыми аппаратными функциями вынуждена была ограничиться поддержкой OpenGL 3.3.

Новые бета-драйверы Catalyst 10.3 OGL4 добавляют поддержку OpenGL 3.3 для всех графических процессоров, начиная с R600, и поддержку OpenGL 4.0 для семейства Radeon HD 5000. Загрузить драйверы можно по ссылкам ниже:

ATI Catalyst

Вместе с тем, с поддержкой OpenGL 4.0 для семейства Radeon HD 5000 всё обстоит не столь однозначно. AMD сделала поддержку вычислений двойной точности лишь для старших чипов 5800/5900, и теперь экономия для младших 5700 и ниже сыграла злую шутку — спецификация OpenGL 4.0 требует поддержки вычислений FP64 в GL_ARB_gpu_shader_fp64. Хотя представители AMD ранее обещали работу FP64 в OpenGL для младших Radeon 5000, в фактически вышедших драйверах эта функция для данных карт не реализована. Надеемся, NVIDIA не повторит этой ошибки при спуске Fermi в нижние сегменты.

Драйвер 3D Vision USB для Quadro 197.03

Поддержка стереокомплектов 3D Vision для профессиональных применений.

Как сообщалось ранее, NVIDIA собирается продвигать системы стереовидения 3D Vision в профессиональные применения. В рамках этого продвижения был обновлён до версии 197.03 драйвер 3D Vision для видеокарт Quadro. Собственно, это не совсем стереодрайвер. Функции профессионального стерео (OpenGL quad-buffered stereo) и так присутствуют в графическом драйвере Quadro, данный драйвер же лишь устанавливает поддержку USB ИК-эмиттера очков 3D Vision Kit в качестве способа синхронизации обновления изображения на дисплее с очками. После его установки можно будет в панели NVIDIA выбрать в параметре «Stereo — Display mode» выбрать ИК-эмиттер 3D Vision и использовать стереоочки для просмотра изображения профессиональных OpenGL-приложений.

Драйвер 197.03 поддерживает операционные системы Windows XP, Vista и 7, об изменениях не сообщается. Загрузить дистрибутив можно с сайта NVIDIA (~2 Мб). Для работы требуется последняя версия драйвера Quadro 197.03.

Unigine Heaven 2.0

Обновлённый DirectX 11-бенчмарк, теперь с поддержкой Linux.

Бенчмарк Unigine Heaven служит демонстрацией возможностей движка Unigine и в прошлом году стал одним из первых приложений, поддержавших DirectX 11. В новой версии 2.0 были сделаны следующие изменения:

  • еще большее использование теселляции, новые режимы «moderate» и «extreme»;
  • ряд оптимизаций движка;
  • больше динамического освещения;
  • добавлены новые объекты и физические эффекты.

Unigine Heaven

Но главным новшеством второй версии стала поддержка Linux. Помимо Direct3D, движок Unigine может использовать и OpenGL, но из-за проблем с качеством драйверов ATI Catalyst для Linux соответствующая версия бенчмарка для данной ОС вышла только сейчас. К сожалению, сторонников открытого кода это не сильно обрадует. Для того, чтобы насладиться красотами, понадобится закрытый бинарный драйвер от AMD или NVIDIA, поскольку реализация OpenGL 3.x в библиотеке Mesa3D на данный момент отсутствует — следствие наличия в спецификации OpenGL третьего поколения защищённых патентами технологий. К этим технологиям члены ARB/Khronos получают доступ по кросс-патентным соглашениям, но независимым разработчикам Mesa надо либо получать отдельные лицензии, либо выносить работу с данными функциями во внешние модули, что уже сделано для форматов текстур, но представляется малореальным для некоторых обязательных методов рендеринга (render targets).

Вследствие изменений движка, сравнивать результаты предыдущих версий с результатами нынешней некорректно. Загрузить последнюю версию бенчмарка можно по ссылкам ниже:

Напомним, что движок Unigine ляжет в основу игры Primal Carnage, Linux-версия которой также ожидается.

Драйверы NVIDIA 197.15 с предварительной поддержкой OpenGL 3.3

Оперативная поддержка только что утверждённого стандарта API.

Буквально неделю назад были утверждены спецификации OpenGL 4.0 и 3.3, и вот NVIDIA «испекла» первый драйвер с их поддержкой. Правда, в драйвере имеется поддержка только OpenGL 3.3, по понятным причинам — для OpenGL 4.0 нужны GPU нового поколения, которые NVIDIA еще только предстоит выпустить.

OpenGL logo

Драйвер 197.15 (Windows)/195.36.07 (Unix) поддерживает видеокарты GeForce и Quadro, настольные и мобильные варианты и интегрированные в чипсеты графические ядра с архитектурой G80 (8X00) и новее. Загрузить драйвер для различных операционных систем можно по ссылкам ниже:

Проверить работу новой версии OpenGL можно с помощью последней версии утилиты OpenGL Extensions Viewer.

Эмулятор 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.

OpenGL logo

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

Презентации Khronos с GDC 2010

Не попавшие на Game Developers Conference в этом году могут посмотреть материалы в электронном виде.

Презентации Khronos Group можно загрузить с сайта группы по ссылкам ниже:

Напомним, что NVIDIA также опубликовала презентации с GDC 2010.

OpenGL Extensions Viewer 3.20

Первая утилита с поддержкой OpenGL 4.0.

Три дня назад были утверждены спецификации OpenGL 4.0, добавившие в API трёхмерной графики поддержку последних достижений. Хотя ни AMD, ни NVIDIA еще не выпустили драйверов с поддержкой новых версий OpenGL, авторы программы OpenGL Extensions Viewer уже подготовили новую версию 3.20, не просто распознающую поддержку OpenGL 4.0, но и содержащую тесты рендеринга.

OpenGL logo

Основные изменения в новой версии:

  • поддержка спецификаций ядра OpenGL версий 3.3 и 4.0;
  • определение февральской версии DirectX;
  • исправлена ошибка XML при запуске программы;
  • исправлена ошибка с рендерами, не поддерживающими предыдущую версию API;
  • исправлена ошибка копирования информации из встроенной базы данных.

Загрузить последнюю версию утилиты можно по ссылкам ниже:

  • Для Windows XP/Vista/7 (32- и 64-бит), ~1,5 Мб
  • Для MacOS X (PPC/x86), ~1,3 Мб.
  • Разрабатывается эффективный программный рендер для 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.

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

    Утверждены спецификации OpenGL 3.3 и 4.0

    Khronos Group сделала следующий шаг в развитии платформонезависимого стандарта трёхмерной графики.

    На проходящей в США конференции GDC 2010 консорциум Khronos объявил новые версии API трёхмерной графики OpenGLOpenGL 4.0 ориентирован на оборудование поколения (условно) DirectX 11 и улучшает взаимодействие с OpenCL, стандартизирует функции теселляции, улучшает возможности шейдеров, включая поддержку вычислений в шейдерах с 64-бит точностью и технологию повторного использования данных (instancing) для геометрических шейдеров. OpenGL 3.3 добавляет максимально возможное количество функций OpenGL 4.0 для оборудования предыдущего поколения (условно) DirectX 10.

    OpenGL logo

    С новыми спецификациями можно ознакомиться на официальном сайте. Приятно видеть, что адаптация технологий уровня DirectX 11 в OpenGL на этот раз заняла всего полгода, вместо двух лет между DirectX 10 и OpenGL 3.x. В ближайшее время можно ожидать выхода бета-драйверов для разработчиков с поддержкой новых версий стандарта, по крайней мере от AMD, уже располагающей готовыми решениями с требуемыми функциями.

    Подробности об Unreal Engine 3 для мобильной платформы Apple

    Мастерам из Epic удалось воплотить большинство функций движка для игр на мобильных платформах Apple последнего поколения.

    Работа Unreal Engine 3 уже демонстрировалась на iPhone, но подробностей о ходе портирования пока не поступало. Теперь ведущий программист направления игровых консолей Epic Games, Josh Adams, рассказал подробности о портировании Unreal Engine 3 на мобильные платформы Apple. Некоторые интересные факты:

    Unreal logo

    • Производительность демо Unreal Tournament 3 на устройствах Apple достигает 25-30 FPS.
    • Unreal Engine 3 для платформы Apple использует OpenGL ES 2.0 для рендеринга. Это означает, что поддерживаться будут только iPhone 3GS, iPad и будущие модели. Предыдущее поколение устройств Apple поддерживало лишь OpenGL ES 1.0, без функций шейдеров.
    • Unreal Engine 3 также будет поддерживать Linux, MacOS и платформу NVIDIA Tegra 2.
    • Портирование UE3 на мобильные устройства — сложная задача: ядро движка состоит более чем из двух миллионов строк кода, что выливается в размер исполняемого файла в районе 16 Мб. На 90 % код движка платформонезависимый.
    • Все основные функции движка, связанные с геймплеем, физикой и даже форматами файлов полностью поддерживаются. Приложения для iPhone можно будет разрабатывать в привычных Windows-инструментах, включая UE Editor. Адаптации подвергся лишь Render Hardware Interface (RHI) — «прослойка» между рендером движка и API платформы.
    • В движок введён ряд приёмов для адаптации сцены к ограничениям мобильных устройств. Так, заданные статичные и динамические источники освещения превращаются в один-два усреднённых источника, снижая стоимость рендеринга освещения. Сложные шейдеры материалов (до 20 на материал) предпросчитываются и сохраняются в текстуру, за счёт маленького разрешения экрана результат почти неотличим.
    • Управление с сенсорного экрана реализовано через концепцию буферов ввода для движений, с привязанной к очерёдности кадров обработкой, в то время как сигнал с датчика наклона также обрабатывается по интервалу, но без буферизации. Планировалось использовать акселерометр iPhone для улучшения точности поворотов, но работа с данной функцией оказалась слишком накладной в плане затрат времени центрального процессора.
    • Существенным недостатком OpenGL ES 2.0 является отсутствие функций раннего отсечения невидимых поверхностей — из-за этого размеры игровых уровней придётся уменьшать.
    • Пока что Epic не получила доступа к технологиям iPad и не располагает данными о его производительности, но поддержка iPad стоит в планах развития UE3.
    • На платформах Apple Unreal Engine 3 ограничен в большей степени CPU, чем графической подсистемой.
    • От ответа на вопрос о поддержке Android Josh Adams уклонился.