Android OpenGL ES kullanıyor, OpenGL ile arasındaki fark nedir?
Android OpenGL ES kullanıyor, OpenGL ile arasındaki fark nedir?
Yanıtlar:
OpenGL ES (Gömülü Sistemler), OpenGL'nin soyulmuş bir sürümüdür. Bu ikisi arasında çok fazla fark var ve ayrıntılara girmek istiyorsanız, bu 128 şartname belgesini okuyabilirsiniz. Ancak ES, OpenGL’nin bir alt kümesidir, bu yüzden tüm ES uygulamaları ES olmayan sistemlerde çalışır ancak bunun tersi olmaz.
ES'de olanı ve olmayanı kolayca tanımlayabileceğiniz bir yer yoktur. Hatta bir tanım bile "OpenGL-ES, OpenGL'ye benziyor, ancak çok fazla şey olmadan. Örneğin, glBegin veya glEnd yok."
Ne yazık ki, şu ana kadarki cevaplardan hiçbiri hem tam hem de tam doğru değil. Gerçekten, OpenGL-ES OpenGL’in yapmadığı iki şeyi yapar:
1) aşağı soyar ve sonra bir mobil platform için uygun hale getirmek için OpenGL API'lerini genişletir. Yani, önce gerçekten ihtiyacınız olmayan API'leri ve özellikleri çıkarırlar ve çokgen oluşturma veya ekran listelerini kullanma gibi mobil uygulamalar için çok zordur. Sonra mobil platform için daha kullanışlı hale getirmek için birkaç makul uzantı yapar. Yine de bunun bir örneğini bile hatırlayamıyorum.
2) mobil platformun pencere yöneticisine (ve dolayısıyla yerel grafik donanımı) arayüz sağlar. OpenGL-ES'in EGL olarak bilinen bu kısmı masaüstündeki GLUT'a çok benziyor. Bunun dışında, bu arayüz için kesinlikle gerekli olmayan kolaylık yöntemlerinden hiçbirine sahip değildir. Dolayısıyla, polyhedra veya küreler çizmek için API yoktur (GLUT'daki gibi). Ancak, örneğin, GLUT'nin init () ve DisplayFunc () ve ReshapeFunc () geri çağrılarına karşılık gelen API'ler vardır.
Android'de kullanılabilen iki OpenGL ES sürümü var:
Uyarı, OpenGL ES 2.0, OpenGL ES 1.X ile uyumlu değildir!
Hemen hemen tüm Android telefonlarda OpenGL 1.X GPU var ve çoğunda 2.0 var. OpenGL ES 2.0, yalnızca Android 2.x veya daha yeni sürümlerde kullanılabilir.