Android использует OpenGL ES, в чем разница между ним и OpenGL?
Android использует OpenGL ES, в чем разница между ним и OpenGL?
Ответы:
OpenGL ES (Embedded Systems) является урезанной версией OpenGL. Есть много различий между этими двумя, и если вы хотите углубиться в детали, то вы можете прочитать этот документ 128 спецификации. Но ES - это подмножество OpenGL, поэтому все приложения ES работают на не-ES системах, но не наоборот.
Нет ни одного места, где вы могли бы легко определить, что находится в ES, а что нет. Даже одно определение таково: «OpenGL-ES похож на OpenGL, но без большого количества вещей. Например, нет glBegin или glEnd».
Увы, пока ни один из ответов не является ни полным, ни полностью правильным. Действительно, OpenGL-ES делает две вещи, которые не делает OpenGL:
1) он урезает, а затем расширяет API OpenGL, чтобы сделать его подходящим для мобильной платформы. То есть сначала они удаляют API и функции, которые вам действительно не нужны, и обременительны для мобильных реализаций, таких как рендеринг полигонов или использование списков отображения. Затем он делает несколько разумных расширений, чтобы сделать его более полезным для мобильной платформы. Я даже не могу вспомнить пример этого, хотя.
2) он обеспечивает интерфейс для оконного менеджера (и, следовательно, встроенного графического оборудования) мобильной платформы. Эта часть OpenGL-ES, известная как EGL, очень похожа на GLUT на рабочем столе. За исключением того, что у него нет ни одного из тех удобных методов, которые не являются строго необходимыми для этого интерфейса. Таким образом, не существует API для рисования многогранников или сфер (как в GLUT). Но есть, например, API, которые соответствуют GLUT init (), и обратным вызовам DisplayFunc () и ReshapeFunc ().
На Android доступно две версии OpenGL ES:
Внимание, OpenGL ES 2.0 не совместим с OpenGL ES 1.X!
Почти все телефоны Android имеют графический процессор OpenGL 1.X и большинство из них имеют 2.0. OpenGL ES 2.0 доступен только с Android 2.x или новее.