Mam Ubuntu na VirtualBox. Dodatki dla gości są zainstalowane, a teraz system operacyjny obsługuje akcelerację sprzętową. Mam bibliotekę OpenGL.
Teraz chcę uruchamiać aplikacje przy użyciu egl + opengles 1.1 i 2.0. Jak zdobyć je na Ubuntu?
Czy są dostępne biblioteki typu open source?
Biblioteki powinny korzystać z możliwości przyspieszania sprzętowego dostarczonego przez VirtualBox.
graphics
virtualbox
libraries
opengl
vboxuser
źródło
źródło
Odpowiedzi:
GLFW, Mesa, Ubuntu 16.04 AMD64
Nie próbowałem tego w Virtual Box, ale powinno to działać niezależnie od tego, że Mesa ma implementację oprogramowania.
Wynik:
Źródło:
Kluczowe wiersze kodu to:
GLFW_INCLUDE_ES2
jest udokumentowany na stronie : http://www.glfw.org/docs/latest/build_guide.html#build_macros, a szybkie spojrzenie na źródło pokazuje, że przekazuje do GLES:Wydaje się, że to źródło znajduje się we wspólnym podzbiorze GLES i OpenGL (podobnie jak większość GLES), a także kompiluje się,
-lGL
jeśli usuniemy#define GLFW_INCLUDE_ES2
.Jeśli dodamy rzeczy, które nie są w GLES, takie jak natychmiastowe renderowanie
glBegin
, link nie powiedzie się zgodnie z oczekiwaniami.Zobacz także: /programming/3809236/how-to-develop-opengl-es-gles-2-0-applications-on-linux/39356268#39356268
Kredyty: genpfult poprawił kod.
ARM Mali OpenGL ES SDK
Zawiera kilka interesujących przykładów open source + płyta kotłowa systemu okienkowego (X11 + EGL).
System kompilacji obsługuje łatwą kompilację krzyżową dla układów ARM / Mali SoC, ale jeszcze tego nie testowałem.
Wydaje się, że kluczowym elementem jest „Emulator OpenGL ES” http://malideveloper.arm.com/resources/tools/opengl-es-emulator/, który „mapuje wywołania API OpenGL ES 3.2 na API OpenGL”. Ale to nie jest dostarczane ze źródłem, tylko wstępnie skompilowane.
Korzysta z niestandardowej umowy EULA, która wydaje się być pobłażliwa, ale tak, zapytaj swojego prawnika.
Testowane na SDK v2.4.4.
źródło
Ponieważ pytanie zostało zadane, pojawiła się paczka, która może pomóc:
źródło
Możesz wyszukiwać pakiety i ich zawartość za pomocą
apt-cache
:Dane wyjściowe mówią, że OpenGLES prawdopodobnie znajduje się w pakiecie mesa-utils-extra . Mesa 3D ma stronę projektu dla OpenGLES i pisze tam:
EGL jest również wbudowany w Mesa:
Więc musisz zainstalować
mesa-utils-extra
i prawdopodobnie równieżlibegl1-mesa
.źródło
Wypróbuj emulator ARM OpenGL ES 2.0 , sam nie udało mi się sprawić, by OpenGL ES 2.0 działał, ale 1.1 działa poprawnie (demo simpleApp). Jak rozumiem, powinien być przyspieszany sprzętowo, ponieważ emulator korzysta z
GL
bibliotek platform, a mesa3d jest (choć nie jestem pewien) przyspieszany.Jest też
libgles2-mesa
- ale niestety nie mogłem tego zrobić. Próbki es2gears / es2tri ulegają awarii, a także simpleApp połączony z bibliotekami mesa.źródło