Новости про 3D и Linux

Mesa 3D версий 7.10 и 7.9.1 с поддержкой Sandy Bridge

Обновление открытых графических библиотек поддержки OpenGL.

Новая версия 7.10 реализации OpenGL Mesa3D, основной графической библиотеки для драйверов видеокарт с открытым исходным кодом в Linux и FreeBSD, содержит ряд нововведений и исправлений:

  • поддержка расширений: GL_ARB_explicit_attrib_location, GL_ARB_texture_rg, GL_EXT_separate_shader_objects, GL_NV_primitive_restart (доступность расширений зависит от драйвера и оборудования);
  • поддержка встроенной графики процессоров Intel Sandy Bridge в драйвере i965 DRI;
  • переработанный механизм исполнения пиксельных шейдеров для драйвера i965;
  • множество исправлений и улучшений в подсистемах Gallium и GLSL, драйверах R600c/g, i915, i965, NV50/nouveau;

Релиз 7.10 пока считается «сырым» и предназначен для разработчиков, для конечных пользователей выпущен 7.9.1, содержащий только исправления, без новой функциональности. Загрузить исходный код библиотек для самостоятельной сборки можно с FTP-сервера Freedesktop.org:

Разрабатывается эффективный программный рендер для 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.

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

Драйвер Nouveau будет использован в Ubuntu 10.04 и Fedora 13

Альтернативный, написанный энтузиастами драйвер для видеокарт на базе NVIDIA становится основным в следующем поколении дистрибутивов Linux.

Драйвер с открытым исходным кодом Nouveau разрабатывается уже достаточно давно методом изучения обмена проприетарного драйвера NVIDIA с оборудованием, анализа видеоBIOS и использования наработок утилит вроде NvClock. В прошлом году разработка драйвера достигла такого уровня, что часть кода была включена в следующее ядро Linux, а сам драйвер был пробно включен в состав дистрибутива Fedora 12. И вот теперь появилась информация, что Nouveau станет драйвером по-умолчанию для видеокарт NVIDIA в будущих дистрибутивах Fedora и Ubuntu, самых популярных версий Linux по данным сайта DistroWotch.com. Тестирования команд Fedora и Ubuntu показали, что Nouveau уже справляется с базовыми функциями Х, управлением дисплеем, воспроизведением видео, и даже 3D/OpenGL в достаточном для Compiz и игр на движке Quake 3 объёме, хотя остаются заметные проблемы с режимами энергосбережения и переключением Virtual terminal.

До прошлого года у поставщиков дистрибутивов выбор в поддержке графических решений NVIDIA был небогат: либо базовый драйвер nv из XFree86/X.Org, обеспечивающий лишь минимальный набор функций и запаздывающий с поддержкой последних версий ядра Linux и X-интерфейса, либо включение бинарного драйвера NVIDIA, что требует написания отдельной обвязки для его установки и обновления и плохо сочетается с лицензионной политикой некоторых компаний. В этом году всё изменится, и уже драйверы самой NVIDIA рискуют стать «альтернативными».

Бесплатный 3D движок Cafu Engine

Еще один бесплатный 3D движок для игр под GPL.

Ранее известный как Ca3DE, движок Cafu Engine переведён в разряд FreeWare и открыт исходный код. Cafu Engine, как и недавно также ставший бесплатным 3Impact, ориентирован на «хардкорных» C++ разработчиков, но содержит большое количество готовых инструментов. Графическая часть поддерживает работу с материалами, попиксельным освещением и шейдерными эффектами, для рендеринга используется OpenGL 2.0 с поддержкой фирменного языка шейдеров NVIDIA Cg. Движок предлагает встроенные функции создания многопользовательского режима (клиент-серверной архитектуры), импорт моделей из популярных форматов, создание растительности, кривые поверхности Безье, эффекты на системе частиц. Для игровой физики используется Bullet Physics.

Движок доступен для платформ Windows (~80 Мб) и Linux (~70 Мб) под лицензией GPLv3. Поддерживаются как 32-, так и 64-разрядные версии, версия для MacOS планируется в будущем. Средний рейтинг движка на сайте DevMaster.net составляет 4 балла — как у популярного OGRE.

Cafu Engine Demo Video
Возможно, кто-то найдёт в нём то, чего не нашел в Unreal Engine 3.