Apa perbedaan antara OpenGL ES dan OpenGL?
Apa perbedaan antara OpenGL ES dan OpenGL?
Jawaban:
Dua perbedaan yang lebih signifikan antara OpenGL ES dan OpenGL adalah penghapusan semantik pemanggil glBegin ... glEnd untuk rendering primitif (yang mendukung array vertex) dan pengenalan tipe data titik tetap untuk koordinat dan atribut verteks untuk dukungan yang lebih baik kemampuan komputasi prosesor yang disematkan, yang seringkali tidak memiliki FPU
Lihat di sini: OpenGL_ES
OpenGL ES adalah api opengl untuk sistem tertanam. Ini lebih sederhana daripada opengl normal dalam hal jumlah fungsi api, tetapi mungkin lebih sulit digunakan, karena Anda harus menggunakan buffer vertex dan menulis lebih banyak shader.
Saat Anda menggunakan opengl normal, Anda dapat menggunakan glBegin dan glEnd untuk menyertakan geometri primitif yang perlu Anda gambar, tetapi saat menggunakan Opengl ES, Anda harus menggunakan buffer vertex. Saya kira ini untuk masalah kinerja.
Saat ini, terdapat dua versi Opengl ES, versi 1.1 hanya dapat mendukung pipeline rendering tetap, sedangkan versi 2.0 mendukung glsl shader. Namun itu tidak memiliki pipeline rendering tetap. Dengan kata lain, Anda harus menulis shader Anda sendiri untuk semuanya.
Opengl ES terutama digunakan pada ponsel dan web (webgl). Menurut spesifikasi, driver opengl desktop Anda dapat mendukung semua opengl es apis.
Sama seperti menambahkan bahwa OpenGL 3.3 dan OpenGL ES 2.0 sebagian besar dapat dioperasikan, dengan menggunakan subset fitur OpenGL 3.3. Mesin C ++ kustom saya menggunakan panggilan API yang sama, dengan beberapa definisi, untuk Android / IOS / Windows / OSX / Linux.
Di antara perbedaan utamanya adalah:
Ada juga banyak perbedaan lain, tetapi itu mencakup beberapa perbedaan penting.
OpenGL ES berarti Open Graphics Library for Embedded Systems (OpenGL ES atau GLES) adalah bagian dari antarmuka pemrograman aplikasi rendering grafis komputer (API) OpenGL untuk merender grafis komputer 2D dan 3D seperti yang digunakan oleh video game, biasanya dengan akselerasi perangkat keras menggunakan sebuah unit pemrosesan grafis (GPU). Ini dirancang untuk sistem tertanam seperti smartphone, tablet komputer, konsol video game dan PDA.
OpenGL | Situs Resmi ES: http://www.opengl.org/
Anda juga bisa mendapatkan informasi lebih lanjut dari wiki: http://en.wikipedia.org/wiki/OpenGL_ES
Tinjau ikhtisar OpenGL ES di sini: http://www.khronos.org/opengles/
Singkatnya, ES adalah bagian dari Open GL untuk "sistem tertanam". Perbedaan spesifik akan bergantung pada versi dan kumpulan fitur yang Anda bandingkan.
Registri OpenGL ES berisi perbedaan API mendetail antara OpenGL ES dan versi OpenGL yang sesuai:
Namun, tidak ada dokumen yang berisi perbedaan untuk OpenGL ES 3.0.
Saya pikir Anda akan mendapatkan jawaban yang lebih baik jika Anda bertanya "apa perbedaan antara OpenGL dan OpenGL ES".
Ada perbedaan besar antara OpenGL ES 1.1 dan ES 2.0, OpenGL 1.5 dan 2.0, serta OpenGL 3.0 dan 4.0.
Seperti yang dijelaskan orang lain, ES ditulis untuk sistem tertanam. Ini juga merupakan "pembersihan rumah" pertama dari spesifikasi GL sejak awal. OpenGL memiliki a) banyak cara untuk melakukan hal yang sama (misalnya Anda dapat menggambar segi empat / persegi dengan dua cara yang berbeda dan memadukan gambar piksel dengan dua cara yang berbeda, dll). ES lebih sederhana daripada OpenGL dengan lebih sedikit fitur sebagai pernyataan umum karena dirancang untuk perangkat keras yang kurang canggih.
Saya mendorong Anda untuk tidak melihat OpenGL ES 1.1 karena ini adalah masa lalu dan tidak mewakili cara OpenGL atau OpenGL ES bergerak secara arsitektural di masa mendatang.
Terminologi dan versinya cukup membingungkan (terutama untuk pemula). Untuk tampilan yang lebih holistik tentang OpenGL dan OpenGL-ES (GLES), lihat OpenGL - Dulu dan Sekarang .
Perbedaan utama antara keduanya adalah OpenGL ES dibuat untuk sistem tertanam seperti smartphone, sedangkan OpenGL adalah yang ada di desktop. Pada tingkat pengkodean, OpenGL ES tidak mendukung fungsi fungsi tetap seperti glBegin / glEnd dll ... OpenGL dapat mendukung pipeline fungsi tetap (menggunakan profil kompatibilitas).
Jawaban modern, untuk ES 3.0 dibandingkan dengan OpenGL 4.6, jauh berbeda dari jawaban yang diterima. Sekarang, semua hal saluran pipa tetap hilang.
ES, untuk SISTEM TERTAMBAH, jauh lebih kuat.
OpenGL ES hanyalah api OpenGL untuk sistem tertanam (OpenGL ES mengacu pada OpenGL Embedded Systems). jadi ini adalah bagian dari OpenGL dan banyak digunakan di ponsel dan beberapa sistem VR, ini dirancang untuk perangkat keras yang kurang canggih. OpenGL ES memiliki istilah dan fungsi yang lebih sedikit daripada OpenGL, anggap saja sebagai: Anda mengambil apa yang Anda butuhkan untuk sistem itu karena jika kita tidak memerlukan fungsi di seluruh pekerjaan kita atau perangkat keras tidak dapat menghadapinya, jadi tidak bermaksud menambahkan fungsi itu tetapi dalam hal ini membuat penggunaan API ini lebih sulit karena kebutuhan untuk menulis lebih banyak Shader dan kode yang rumit untuk membuat sesuatu yang sederhana karena OpenGL ES tidak menyediakan Shaders dalam pipeline grafis sebagai OpenGL. OpenGL ES versi terakhir adalah 3.2 yang sekarang dapat memberikan dukungan Tessellation untuk detail geometri tambahan, shader geometri baru. jadi saya menyarankan Anda untuk mulai belajar atau menggunakan OpenGL ES 3.0+ (jika itu bahasa target Anda) karena sekarang dan generasi berikutnya tidak akan menggunakan versi lama dengan perangkat keras dan kartu grafis yang lebih kuat dan jika target Anda adalah OpenGL, mulailah dengan v3. 3+ atau 4.0+. jika Anda memiliki lebih banyak waktu tidak masalah untuk melihat sekilas versi lama untuk lebih memahami bagaimana hal-hal dikembangkan dan mengapa. Anda dapat memeriksa tautan ini untuk lebih jelasnya:https://en.wikipedia.org/wiki/OpenGL_ES
OpenGL adalah API grafik 2D dan 3D yang membawa ribuan aplikasi ke berbagai platform komputer.
OpenGL ES adalah himpunan bagian dari OpenGL desktop yang didefinisikan dengan baik .
OpenGL® ES adalah API lintas platform bebas royalti untuk grafik 2D dan 3D yang berfungsi penuh pada sistem tertanam - termasuk konsol, telepon, peralatan, dan kendaraan. Ini terdiri dari subset desktop OpenGL yang terdefinisi dengan baik, ...
Lihat tautan ini .
PS
WebGL berbagi spesifikasi dengan OpenGL ES, yaitu jika Anda telah mempelajari OpenGL desktop, mudah untuk mempelajari yang lain (OpenGL ES, WebGL).