Подтвердить что ты не робот

OpenGL ES против OpenGL

В чем разница между OpenGL ES и OpenGL?

4b9b3361

Ответ 1

Двумя из наиболее значительных различий между OpenGL ES и OpenGL являются удаление glEegin... glEnd вызывающей семантики для примитивного рендеринга (в пользу вершинных массивов) и введение типов данных с фиксированной точкой для координат и атрибутов вершин для лучшей поддержки вычислительных возможностей встроенных процессоров, которым часто не хватает FPU

Посмотрите здесь: OpenGL_ES

Ответ 2

OpenGL ES - это opengl api для встроенных систем. Это проще, чем обычный opengl с точки зрения количества функций api, но может быть труднее использовать, так как вам придется использовать вершинные буферы и писать больше шейдеров.

Когда вы используете обычный opengl, вы можете использовать glBegin и glEnd, чтобы заключить примитивы геометрии, которые вам нужно рисовать, но при использовании Opengl ES вам придется использовать вершинные буферы. Я думаю, это касается проблем с производительностью.

В настоящее время существует две версии Opengl ES, версия 1.1 поддерживает только фиксированный конвейер рендеринга, а версия 2.0 поддерживает glsl-шейдер. Однако он не имеет фиксированного конвейера рендеринга. Другими словами, вам нужно будет написать свой собственный шейдер для всего.

Opengl ES в основном используется на мобильных телефонах и в Интернете (webgl). Согласно спецификации, ваш настольный драйвер opengl может поддерживать все opengl es apis.

Ответ 3

Также как добавить, что OpenGL 3.3 и OpenGL ES 2.0 в основном совместимы с использованием подмножества функций OpenGL 3.3. Мой пользовательский движок С++ использует одни и те же вызовы API с несколькими определениями для Android/IOS/Windows/OSX/Linux.

Среди основных отличий:

  • Отсутствие поддержки шейдеров геометрии.
  • нет min/max blending (для этого может быть расширение)
  • нет примитива с четырьмя списками
  • более ограниченные форматы текстур (особенно в отношении плавающей запятой)
  • glGetTexImage недоступен
  • нет Transform Feedback, то же самое для нескольких других дополнительных функций

Есть также много других различий, но охватывает несколько важных.

Ответ 4

Просмотрите обзор OpenGL ES здесь: http://www.khronos.org/opengles/

Короче говоря, ES является подмножеством Open GL для "встроенных систем". Конкретные различия будут зависеть от версий и наборов функций, которые вы сравниваете.

Ответ 5

OpenGL ES означает, что Open Graphics Library для встроенных систем (OpenGL ES или GLES) является подмножеством интерфейса API-интерфейса для рендеринга компьютерной графики OpenGL (API) для рендеринга 2D и 3D-компьютерной графики, такой как используемые в видеоиграх, обычно аппаратные - ускоренное использование графического процессора (GPU). Он предназначен для встроенных систем, таких как смартфоны, компьютерные планшеты, игровые консоли и КПК.

Официальный сайт OpenGL | ES: http://www.opengl.org/

вы также можете получить дополнительную информацию от wiki: http://en.wikipedia.org/wiki/OpenGL_ES

Ответ 6

Реестр OpenGL ES содержит подробные различия API между OpenGL ES и соответствующей версией OpenGL:

Однако не существует документа, содержащего различия для OpenGL ES 3.0.

Ответ 7

Я думаю, вы получите лучший ответ, если спросите: "Каковы различия между OpenGL и OpenGL ES".

Существуют глубокие различия между OpenGL ES 1.1 и ES 2.0, OpenGL 1.5 и 2.0 и OpenGL 3.0 и 4.0.

Как описывали другие, ES была написана для встроенных систем. Он также представляет собой первую "чистку дома" спецификации GL с момента ее создания. OpenGL имел: a) много способов сделать то же самое (например, вы могли бы нарисовать квадрат/прямоугольник двумя разными способами и разбить изображение в пикселях двумя разными способами и т.д.). ES проще, чем OpenGL с меньшим количеством функций в качестве общего утверждения, поскольку он предназначен для менее сложного оборудования.

Я призываю вас не смотреть на OpenGL ES 1.1, поскольку это прошлое, и не отражает того, как OpenGL или OpenGL ES будут двигаться в архитектуре в будущем.

Ответ 8

Терминология и версии довольно запутывают (особенно для новичков). Вот ссылка, которая дает обзор достаточно хорошо. Посмотрите, помогает ли это.

OpenGL - Then and Now

Ответ 9

Основное различие между ними заключается в том, что OpenGL ES создан для встроенных систем, таких как смартфоны, а OpenGL - для настольных компьютеров. На уровне кодирования OpenGL ES не поддерживает функции фиксированной функции, такие как glBegin/glEnd и т.д. OpenGL может поддерживать конвейер с фиксированной функцией (используя профиль совместимости).

Ответ 10

Современный ответ для ES 3.0 по сравнению с OpenGL 4.6 отличается от принятого ответа. Теперь все материалы с фиксированным контуром исчезли.

ES, для EMBEDDED SYSTEMS, намного менее надежна.

Ответ 11

просто говорящий, opengl - настольная версия, а opengl es - для встроенных систем, таких как сотовые телефоны, где ограничения памяти и производительности больше, чем у компьютеров. opengl es будет труднее использовать.

Ответ 12

OpenGL - это 2D и 3D-графический API, которые приносят тысячи приложений на самые разные компьютерные платформы.

OpenGL ES - это хорошо определенные подмножества рабочего стола OpenGL.

OpenGL® ES - это бесплатный кросс-платформенный API для полнофункциональной 2D и 3D-графики на встроенных системах, включая консоли, телефоны, приборы и транспортные средства. Он состоит из четко определенных подмножеств рабочего стола OpenGL,...

Смотрите ссылку .

P.S.

Спецификация акций WebGL с OpenGL ES, т.е. если вы изучили настольный OpenGL, просто узнать другие (OpenGL ES, WebGL).

Ответ 13

Ну как 2019.07

OGLES_3.2 и OPENGL_4.6 почти одинаковы, верно?