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

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

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

Новая версия 7.10 реализации OpenGLMesa3D, основной графической библиотеки для драйверов видеокарт с открытым исходным кодом в 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.

Linux logo

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

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

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

Cafu Engine logo

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

Cafu Engine demo

Cafu Engine demo

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

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