Saya menjalankan Ubuntu di VirtualBox. Tamu tambahan diinstal dan sekarang OS adalah akselerasi perangkat keras. Saya memiliki perpustakaan OpenGL di tempatnya.
Sekarang saya ingin menjalankan aplikasi menggunakan egl + opengles1.1 & 2.0. Bagaimana saya mendapatkannya di Ubuntu?
Apakah ada perpustakaan sumber terbuka yang tersedia?
Perpustakaan harus menggunakan kemampuan akselerasi perangkat keras yang disediakan VirtualBox.
graphics
virtualbox
libraries
opengl
vboxuser
sumber
sumber
Jawaban:
GLFW, Mesa, Ubuntu 16.04 AMD64
Saya belum mencobanya di dalam Virtual Box, tetapi ini akan berhasil terlepas sejak Mesa memiliki implementasi perangkat lunak.
Keluaran:
Sumber:
Baris baris kunci dari kode adalah:
GLFW_INCLUDE_ES2
didokumentasikan di: http://www.glfw.org/docs/latest/build_guide.html#build_macros dan pandangan cepat pada sumbernya menunjukkan bahwa ia meneruskan ke GLES:Sumber ini tampaknya berada dalam subset umum dari GLES dan OpenGL (seperti banyak GLES), dan juga dikompilasi dengan
-lGL
jika kita menghapus#define GLFW_INCLUDE_ES2
.Jika kita menambahkan hal-hal yang tidak ada dalam GLES seperti rendering langsung
glBegin
, tautan gagal seperti yang diharapkan.Lihat juga: /programming/3809236/how-to-develop-opengl-es-gles-2-0-applications-on-linux/39356268#39356268
Kredit: genpfult membuat kode jauh lebih benar.
ARM Mali OpenGL ES SDK
Berisi beberapa contoh open source yang menarik + sistem windowing boilerplate (X11 + EGL).
Sistem build mendukung kompilasi silang yang mudah untuk ARM / Mali SoCs, tapi saya belum mengujinya.
Komponen kunci yang dimasukkan tampaknya adalah "OpenGL ES Emulator" http://malideveloper.arm.com/resources/tools/opengl-es-emulator/ yang "memetakan panggilan OpenGL ES 3.2 API ke OpenGL API". Tapi itu tidak dikirimkan dengan sumber, hanya dikompilasi sebelumnya.
Menggunakan EULA perusahaan khusus yang tampaknya permisif, tapi ya, tanyakan pengacara Anda.
Diuji pada SDK v2.4.4.
sumber
Karena pertanyaan telah diajukan, sebuah paket muncul dan dapat membantu:
sumber
Anda dapat mencari paket dan isi paket dengan
apt-cache
:Keluaran mengatakan bahwa OpenGLES mungkin ada di paket mesa-utils-extra . Mesa 3D memiliki halaman proyek untuk OpenGLES dan menulis di sana:
EGL juga dibangun di Mesa:
Jadi, Anda perlu menginstal
mesa-utils-extra
dan mungkin jugalibegl1-mesa
.sumber
Coba ARM OpenGL ES 2.0 Emulator , saya sendiri belum berhasil membuat OpenGL ES 2.0 berfungsi, tetapi 1,1 tampaknya berjalan dengan baik (demo SimpleApp). Seperti yang saya mengerti, itu seharusnya dipercepat perangkat keras karena emulator menggunakan
GL
pustaka platform dan mesa3d (tidak yakin meskipun) dipercepat.Ada juga
libgles2-mesa
- tapi sayangnya saya tidak bisa membuatnya bekerja. es2gears / es2tri sampel macet dan juga simpleApp dihubungkan dengan mesa libs.sumber