Ich habe Ubuntu auf VirtualBox. Gastzugaben sind installiert und das Betriebssystem ist nun hardwarebeschleunigungsfähig. Ich habe OpenGL-Bibliothek vorhanden.
Jetzt möchte ich Apps mit egl + opengles1.1 & 2.0 ausführen. Wie bekomme ich sie auf Ubuntu?
Gibt es Open-Source-Bibliotheken?
Die Bibliotheken sollten die von VirtualBox bereitgestellten Hardwarebeschleunigungsfunktionen verwenden.
graphics
virtualbox
libraries
opengl
vboxuser
quelle
quelle
Antworten:
GLFW, Mesa, Ubuntu 16.04 AMD64
Ich habe es nicht in Virtual Box ausprobiert, aber das sollte funktionieren, da Mesa eine Software-Implementierung hat.
Ausgabe:
Quelle:
Die wichtigsten Codezeilen sind:
GLFW_INCLUDE_ES2
ist dokumentiert unter: http://www.glfw.org/docs/latest/build_guide.html#build_macros und ein kurzer Blick auf die Quelle zeigt, dass es an GLES weiterleitet:Diese Quelle scheint in der gemeinsamen Teilmenge von GLES und OpenGL zu sein (wie viel von GLES) und kompiliert auch mit,
-lGL
wenn wir die entfernen#define GLFW_INCLUDE_ES2
.Wenn wir Dinge hinzufügen, die nicht in GLES enthalten sind, wie das sofortige Rendern
glBegin
, schlägt die Verknüpfung wie erwartet fehl.Siehe auch: /programming/3809236/how-to-develop-opengl-es-gles-2-0-applications-on-linux/39356268#39356268
Credits: genpfult hat den Code viel korrekter gemacht.
ARM Mali OpenGL ES SDK
Enthält mehrere interessante Open Source-Beispiele + Boilerplate des Fenstersystems (X11 + EGL).
Das Build-System unterstützt die einfache Cross-Kompilierung für ARM / Mali-SoCs, aber das habe ich noch nicht getestet.
Die enthaltene Schlüsselkomponente scheint der "OpenGL ES-Emulator" zu sein ( http://malideveloper.arm.com/resources/tools/opengl-es-emulator/), der "OpenGL ES 3.2-API-Aufrufe der OpenGL-API zuordnet". Das wird aber nicht mit Source ausgeliefert, sondern nur vorkompiliert.
Verwendet einen benutzerdefinierten EULA für Unternehmen, der zulässig zu sein scheint, aber fragen Sie Ihren Anwalt.
Getestet mit SDK v2.4.4.
quelle
Da die Frage gestellt wurde, erschien ein Paket und konnte helfen:
quelle
Sie können nach Paketen und Paketinhalten suchen mit
apt-cache
:Die Ausgabe besagt, dass OpenGLES wahrscheinlich im Paket mesa-utils-extra enthalten ist . Mesa 3D hat eine Projektseite für OpenGLES und schreibt dort:
EGL ist auch in Mesa integriert:
Also musst du
mesa-utils-extra
und wahrscheinlich auch installierenlibegl1-mesa
.quelle
Probieren Sie den ARM OpenGL ES 2.0 Emulator aus . Ich selbst habe es nicht geschafft, OpenGL ES 2.0 zum Laufen zu bringen, aber 1.1 scheint gut zu laufen (simpleApp-Demo). Soweit ich weiß, soll es hardwarebeschleunigt sein, da der Emulator Plattformbibliotheken verwendet
GL
und mesa3d (obwohl nicht sicher) beschleunigt ist.Es gibt auch
libgles2-mesa
- aber leider konnte ich es nicht zum Laufen bringen. es2gears / es2tri-Beispiele stürzen ab und simpleApp ist mit Mesa-Bibliotheken verknüpft.quelle