J'ai Ubuntu en cours d'exécution sur VirtualBox. Des ajouts d'invités sont installés et maintenant le système d'exploitation est capable d'accélération matérielle. J'ai une bibliothèque OpenGL en place.
Maintenant, je veux exécuter des applications en utilisant egl + opengles1.1 & 2.0. Comment les obtenir sur Ubuntu?
Existe-t-il des bibliothèques open source?
Les bibliothèques doivent utiliser les capacités d'accélération matérielle fournies par VirtualBox.
graphics
virtualbox
libraries
opengl
vboxuser
la source
la source
Réponses:
GLFW, Mesa, Ubuntu 16.04 AMD64
Je ne l'ai pas essayé dans Virtual Box, mais cela devrait fonctionner, car Mesa a une implémentation logicielle.
Production:
La source:
Les principales lignes de code sont les suivantes:
GLFW_INCLUDE_ES2
est documenté à: http://www.glfw.org/docs/latest/build_guide.html#build_macros et un rapide coup d'œil à la source montre qu'elle transmet à GLES:Cette source semble être dans le sous-ensemble commun de GLES et OpenGL (comme la plupart de GLES), et se compile également avec
-lGL
si nous supprimons le#define GLFW_INCLUDE_ES2
.Si nous ajoutons des choses qui ne sont pas dans GLES comme le rendu immédiat
glBegin
, le lien échoue comme prévu.Voir également: /programming/3809236/how-to-develop-opengl-es-gles-2-0-applications-on-linux/39356268#39356268
Crédits: genpfult a rendu le code beaucoup plus correct.
SDK ARM Mali OpenGL ES
Contient plusieurs exemples open source intéressants + passe-partout du système de fenêtrage (X11 + EGL).
Le système de construction prend en charge la compilation croisée facile pour les SoC ARM / Mali, mais je ne l'ai pas encore testé.
Le composant clé inclus semble être "l'émulateur OpenGL ES" http://malideveloper.arm.com/resources/tools/opengl-es-emulator/ qui "mappe les appels d'API OpenGL ES 3.2 vers l'API OpenGL". Mais cela n'est pas livré avec la source, seulement précompilé.
Utilise un CLUF d'entreprise personnalisé qui semble permissif, mais oui, demandez à votre avocat.
Testé sur SDK v2.4.4.
la source
Depuis que la question a été posée, un package est apparu et pourrait aider:
la source
Vous pouvez rechercher des packages et leur contenu avec
apt-cache
:La sortie indique qu'OpenGLES est probablement dans le paquet mesa-utils-extra . Mesa 3D a une page de projet pour OpenGLES et y écrit:
EGL est également intégré à Mesa:
Vous devez donc installer
mesa-utils-extra
et probablement aussilibegl1-mesa
.la source
Essayez l'émulateur ARM OpenGL ES 2.0 , je n'ai pas réussi à faire fonctionner OpenGL ES 2.0, mais la version 1.1 semble fonctionner correctement (démo simpleApp). Si je comprends bien, il est censé être accéléré par le matériel, car l'émulateur utilise les
GL
bibliothèques de plate-forme et mesa3d est (pas sûr cependant) accéléré.Il y a aussi
libgles2-mesa
- mais malheureusement je n'ai pas pu le faire fonctionner. Les échantillons es2gears / es2tri plantent ainsi que simpleApp lié aux librairies mesa.la source