Mesa3D для чего вообще?
OpenGL — графическая библиотека, пишут игры, программа. Понятно. Но зачем нужна Mesa3D. Это копия OpenGL, щас вроде поддерживает версия OpenGL 3.3, полная копия получается, но взаимодействие с ОС и железом другое. Но для чего это нужно, кто этим пользуется? Только для более глубокого изучения OpenGL или ещё для чего? Кто-то известный использует Mesa3D?
Nawy
> Но зачем нужна Mesa3D. Это копия OpenGL
OpenGL не библиотека, это стандарт. А Mesa3d уже библиотека — одна из реализаций стандарта, причем открытая.
Незаменима там, где вендор по разным причинам отказывается поддерживать 3d.
Энтузиасты могут отреверсить как карточка растризует полики (nouveau), или взять полные спеки чипа, если они открыты (как в случае с AMD).
Но сам чип только предоставляет средства для реализации какого-то 3d api, которое ещё надо отдельно писать. На борту нет никакого OpenGL или D3D.
Вот mesa3d и есть уже написанное api, уже готовая реализация OpenGL, которой только надо предоставить самый базовый функционал карточки.
В самом крайнем случае mesa3d вообще нарисует всё софтово, своими силами, без поддержки железа.
А кстати, где взять последнюю mesa3d dll’ку под винду? Хочу отладить свой движок на ней, а то он не везде работает, видимо я что-то делаю не по спецификации или эксплуатирую какой-то баг проприетарного драйвера AMD.
Я бы это и на Linux’е сделал, но там уже проприетарный стоит, удалять его не хочется.
Кстати, я у них так и не понял какую OpenGL версию поддерживает софтовый рендер (по сравнению с r600 и прочими).
RPGman
> OpenGL не библиотека, это стандарт. А Mesa3d уже библиотека — одна из
> реализаций стандарта, причем открытая.
Была же sgi версия
innuendo
> Была же sgi версия
Была. Но теперь это таки стандарт. API, а не конкретная реализация.
http://www.opengl.org/about/
Поставила на своем линуксе проприетарный драйвер, а проверить поддержку 3.3 в новой версии mesa забыла.
В 10-й версии mesa есть поддержка 3.3? Или это только слухи?
Про i915 там ничего нет 🙁
gammaker
> А кстати, где взять последнюю mesa3d dll’ку под винду?
arprog
> 32: http://www.mirrorservice.org/sites/downloads.sourceforge.net/m/ms…
> ny.pkg.tar.xz
Скачал. Только почему-то GL_VERSION показывает 2.1. А на экране mesa рендерит месиво какое-то :). И выдаёт предупреждения, ругаясь на эти строчки:
gammaker
хз, я запускал urho3d на нем, все работает.
arprog
> хз, я запускал urho3d на нем, все работает.
А какой там GL? А то моему движку требуется то ли 3.2, то ли 3.3. Но mesa, показывая 2.1, поддерживает расширения, которые заменяют часть функционала 3.3 и которых движку достаточно. Но с такой реализацией GL мой движок сталкивается впервые. Видимо, я забыл активировать какие-то расширения в шейдерах, а она молчит.
Надо наконец-то добавить в движок поддержку debug output, и смотреть, есть ли какие-нибудь сообщения.
Пару лет назад я запускал свой движок в месе и всё работало правильно. Но тогда я не использовал ничего новее 2.0. У меня была смесь FFP и самого первого GLSL и не было генерации текстур на gpu.
programina
> В 10-й версии mesa есть поддержка 3.3? Или это только слухи?
Вообще там уже довольно давно поддерживается всё кроме геометрических шейдеров, поэтому если они не используются можно легко выставить MESA_GL_VERSION_OVERRIDE=3.3 и игра/софт будет работать.
По геометрическим шейдера и «официальной» поддержке 3.3:
В последнем стабильном релизе (10.0.3) поддержка 3.3 реализована только для Intel: Ivy Bridge и Haswell. В текущей версии из git уже реализована поддержка для карт AMD, при этом для GS на старых картах (3XXX 4XXX) нужно ещё и ядро 3.14. И даже для Nvidia запилили, правда с некоторыми картами Nouveau умрёт даже от SuperTuxKart, а кое где крешнется ещё при загрузке системы.
programina
> Про i915 там ничего нет 🙁
i915 это говно мамонта, оно и на винде OpenGL 3 не поддерживают.
Первые интеграшки Intel c поддержкой OpenGL 3 были Sandy Bridge и HD2XXX/3XXX.
Что такое mesa для windows
VMware, ранее Tungsten Graphics, Inc.
Mesa — реализация графического API OpenGL. Официально она не сертифицирована, но на практике вполне соответствует стандарту OpenGL. Mesa ориентирована на обеспечение высокой производительности, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого видеоадаптерами.
Mesa3D лежит в основе графической подсистемы операционных систем с открытым исходным кодом, так что её обновление имеет большое значение для всех пользователей, не имеющих возможности или не желающих использовать закрытые драйверы и библиотеки OpenGL от производителей оборудования.
В данный момент Mesa является одной из самых популярных реализаций OpenGL для Unix-подобных ОС.
Содержание
История
Проект был начат в августе 1993 года Брайаном Полом (англ. Brian Paul ) как простая библиотека трёхмерной графики, реализующая OpenGL API.
Версия | Выпущена | Комментарий |
---|---|---|
1.0 | февраль 1995 | первая версия библиотеки, опубликованная в интернете |
2.0 | октябрь 1996 | реализация спецификации OpenGL 1.1 |
2.2 | март 1997 | поддержка новых видеокарт 3dfx Voodoo через библиотеку Glide |
3.0 | сентябрь 1998 | первая общественно-доступная реализация OpenGL 1.2 API |
4.0 | октябрь 2001 | реализация OpenGL 1.3 |
5.0 | ноябрь 2002 | реализация OpenGL 1.4 |
6.0 | январь 2003 | реализация OpenGL 1.5, а также расширений GL_ARB_vertex_program и GL_ARB_fragment_program |
7.0 | июнь 2007 | реализация OpenGL 2.1 и OpenGL Shading Language. |
7.0.3 — 7.4.4 | апрель 2008 — июнь 2009 | исправление ошибок, внутренние изменения |
7.5 | июль 2009 | добавлена архитектура Gallium3D |
7.5.1 — 7.10.2 | сентябрь 2009 — апрель 2011 | исправление ошибок, внутренние изменения |
8.0 | февраль 2012 | реализация OpenGL 3.0, исправление ошибок и чистка кода |
9.0 | октябрь 2012 | реализация OpenGL 3.1 |
Лицензия
Лицензия Mesa считалась свободной, но в 2008 году возникли вопросы [1] [2] [3] [4] [5] [6] насчёт небольших частей кода, распространявшихся под лицензиями SGI Free Software License B версии 1.1 и GLX Public License — они оказались несвободными. [7] 19 февраля 2008 года SGI объявила о выходе гораздо более простой, и одобренной FSF и Khronos Group SGI Free Software License B версии 2.0 [8] , и лицензировании под ней примера реализации OpenGL, GLX API и других расширений GLX. [9]
Mesa 3D
The Mesa 3D Graphics Library | |
220x80px | |
Тип | Графическаябиблиотека |
---|---|
Автор | Брайан Пол[d][1] |
Разработчик | AMD, Intel, Valve, Red Hat, Collabora, VMware, свободное сообщество энтузиастов, и ранее Tungsten Graphics, Inc. |
Написана на | Си |
Операционная система | Кроссплатформенное программное обеспечение: GNU/Linux, *BSD и другие UNIX-подобныеоперационные системы с открытымисходным кодом |
Первый выпуск | август1993 |
Последняя версия |
|
Состояние | Активно развивается |
Лицензия | MIT License |
Сайт | mesa3d.org |
Mesa ориентирована на обеспечение высокой производительности при работе с 3D-графикой, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого графическими процессорами. Mesa, называемая также «Mesa3D», лежит в основе графического стека свободных UNIX-подобных операционных систем с открытым исходным кодом, в основном дистрибутивов GNU/Linux и дистрибутивов *BSD, так что на этих операционных системах без использования Mesa невозможно добиться работы графического интерфейса, окружения рабочего стола, современных приложений, использующих графический интерфейс, 3D-графики, в том числе игр, производительность в которых во многом зависит от развития Mesa. Поэтому, для всех пользователей дистрибутивов GNU/Linux и *BSD, использующих графический интерфейс, Mesa является чрезвычайно важным компонентом их графического стека, и её регулярное обновление до самых новых версий имеет большое значение для всех пользователей свободных UNIX-подобных операционных систем.
Наиболее востребованными компонентами Mesa являются графические драйверы пространства пользователя для видеопроцессоров Intel и Radeon, которые в основном разрабатываются и финансируются компаниями Intel, AMD, Red Hat, но также и другими крупными компаниями, например, Valve из-за их заинтересованности в развитии Steam OS. Но так как в разработке программ с открытым исходным кодом может принять участие любой желающий, в разработке Mesa принимают участие все, кто заинтересован в дальнейшем развитии этого проекта, и при этом имеет возможность и желание участвовать в разработке. Например, компания Nvidia, в отличие от Intel и AMD не способствует развитию Mesa, а вместо этого разрабатывает свой собственный проприетарный видеодрайвер с закрытым исходным кодом, включающий в себя свой собственный отдельно подключаемый видеодрайвер Linux и свои собственные реализации API OpenGL и Vulkan. Поэтому, Nouveau — свободный графический драйвер с открытым исходным кодом для графических процессоров Nvidia, в отличие от драйверов для AMD/ATI Radeon и Intel GPU в основном разрабатывается усилиями сообщества и компании Red Hat, а не самого производителя графических процессоров Nvidia. Mesa реализует кросс-языковой, кросс-платформенный (в основном, для дистрибутивов BSD и GNU/Linux), стандартный API-интерфейс, нейтральный к любым поставщикам GPU, для взаимодействия с различными аппаратными драйверами для конкретных производителей GPU.
Помимо 3D-приложений, таких как, например, игры, современные менеджеры окон (X.org/Glamor или Wayland/Weston) тоже используют Vulkan/OpenGL/EGL, реализацию которых предоставляет Mesa. Поэтому это ещё одна причина, по которой вся графика в UNIX-подобных операционных систем с открытым исходным кодом обычно проходит через Mesa.
Ранее разработка Mesa происходила на freedesktop.org, но после состоялся переезд на GitLab.org, где сейчас и происходит разработка. Разработка Mesa была впервые начата в августе 1993 года Брайаном Полом, который все еще активно участвует в проекте. Впоследствии Mesa была широко принята и теперь содержит многочисленные вклады различных независимых людей и представителей корпораций со всего мира, в том числе от производителей графических процессоров, входящих в Khronos Group, которые администрируют спецификации OpenGL и Vulkan. Для GNU/Linux быстрое развитие Mesa также, кроме того, частично было вызвано добровольным сбором денег на разработку.
Содержание
История
Проект был начат в августе 1993 года Брайаном Полом (англ. Brian Paul ) как простая библиотека трёхмерной графики, реализующая OpenGL API.
Версия | Выпущена | Комментарий |
---|---|---|
1.0 | февраль 1995 | первая версия библиотеки, опубликованная в интернете |
2.0 | октябрь 1996 | реализация спецификации OpenGL 1.1 |
2.2 | март 1997 | поддержка новых видеокарт 3dfx Voodoo через библиотеку Glide |
3.0 | сентябрь 1998 | первая общественно-доступная реализация OpenGL 1.2 API |
4.0 | октябрь 2001 | реализация OpenGL 1.3 |
5.0 | ноябрь 2002 | реализация OpenGL 1.4 |
6.0 | январь 2003 | реализация OpenGL 1.5, а также расширений GL_ARB_vertex_program и GL_ARB_fragment_program |
7.0 | июнь 2007 | реализация OpenGL 2.1 и OpenGL Shading Language. |
7.0.3 — 7.4.4 | апрель 2008 — июнь 2009 | исправление ошибок, внутренние изменения |
7.5 | июль 2009 | добавлена архитектура Gallium3D |
7.5.1 — 7.10.2 | сентябрь 2009 — апрель 2011 | исправление ошибок, внутренние изменения |
8.0 | февраль 2012 | реализация OpenGL 3.0, исправление ошибок и чистка кода |
9.0 | октябрь 2012 | реализация OpenGL 3.1 |
10.0 | декабрь 2013 | реализация OpenGL 3.3 |
11.0 | сентябрь 2015 | реализация OpenGL 4.1 |
12.0 | Июль 2016 | реализация OpenGL 4.3 |
13.0 | ноябрь 2016 | реализация OpenGL 4.5 |
17.0 | февраль 2017 | Новая схема нумерации версий, OpenGL 4.5(+дополнительные ARBs), OpenGL ES 3.2 |
17.1 | 10 мая 2017 | Реализация новых расширений OpenGL, Vulkan, дискового кэша RadeonSL |
17.2 | 5 сентября 2017 | Реализация новых расширений Vulkan и OpenGL, начальная реализация OpenGL 4.6, значительное улучшение производительности |
17.3 | 8 декабря 2017 | Реализация новых расширений Vulkan и OpenGL, реализация дискового кэша RADV, значительное улучшение производительности |
Лицензия
Лицензия Mesa считалась свободной, но в 2008 году возникли вопросы [3] [4] [5] [6] [7] [8] насчёт небольших частей кода, распространявшихся под лицензиями SGI Free Software License B версии 1.1 и GLX Public License — они оказались несвободными. [9] 19 февраля 2008 года SGI объявила о выходе гораздо более простой, и одобренной FSF и Khronos Group SGI Free Software License B версии 2.0 [10] , и лицензировании под ней примеры реализации OpenGL, GLX API и других расширений GLX. [11]