OpenGL ES

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Логотип

OpenGL ES (OpenGL for Embedded Systems — OpenGL для встраиваемых систем) — подмножество графического интерфейса OpenGL, разработанное специально для встраиваемых систем — мобильных телефонов, карманных компьютеров, игровых консолей. OpenGL ES определяется и продвигается консорциумом Khronos Group, в который входят производители программного и аппаратного обеспечения, заинтересованные в открытом API для графики и мультимедиа.

Версии[править | править исходный текст]

В настоящее время существует уже несколько версий спецификации OpenGL ES. OpenGL ES 1.0 написана по спецификации OpenGL 1.3, OpenGL ES 1.1 определена относительно OpenGL 1.5, OpenGL ES 2.0 определена относительно спецификации OpenGL 2.0. Версии 1.0 и 1.1 имеют профили common и common lite. Common lite отличается тем что поддерживает только вычисления на числах с фиксированной десятичной точкой, в то время как common поддерживает также и вычисления с плавающей точкой.

Использование[править | править исходный текст]

OpenGL ES 1.0 был выбран в качестве официального 3D API в Symbian OS и для платформы Android.

OpenGL ES 1.0 плюс некоторые возможности 2.0 и Cg поддерживаются в PlayStation 3 как один из доступных графических API.

OpenGL ES 1.1 используется в качестве графической библиотеки в iPhone SDK.

OpenGL ES 2.0 Используется в Nokia N900, поддерживается в Symbian³, поддерживается в Android версии 2.2 и выше, используется в игровой консоли Pandora, а также в iPhone SDK 3.0 (только для iPhone 3GS и новых iPod Touch), поддерживается в Bada OS. Эти устройства также выбраны для использования WebGL, OpenGL для браузеров.

OpenGL ES 3.0, базируется на OpenGL 3.3 и OpenGL 4.2. OpenGL ES 3.0 поддерживается в Android версии 4.3 и выше. Краткий список нововведений:

  • occlusion queries, transform feedback, instanced rendering и поддержка 4-х и более rendering targets;
  • высококачественная ETC2 / EAC компрессия текстур;
  • новая версия GLSL ES языка шейдеров с полной поддержкой операций над целыми числами и 32-битными числами с плавающей запятой;
  • гарантированная поддержка floating point текстур, 3D текстур, текстур глубины, текстур вершин, NPOT текстур, R/RG текстур и других;
  • обратная совместимость в OpenGL ES 2.0.

См. также[править | править исходный текст]

  • GLBenchmark — тест измерения производительности OpenGL ES.
  • M3G — высокоуровневый стандарт трёхмерной графики Java ME. Может базироваться на OpenGL ES
  • JSR-239 — низкоуровневый API мобильной трёхмерной графики для Java ME (прямой интерфейс к OpenGL ES)

Ссылки[править | править исходный текст]