В чем разница между GL_TEXTURE_2D и GL_TEXTURE_EXTERNAL_OES - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в OpenGL ES в разработке для Android.Во время учебы я обнаружил два типа текстур:

  1. GL_TEXTURE_2D
  2. GL_TEXTURE_EXTERNAL_OES

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

У меня два вопроса:

  1. В чем разница между ними?Это совершенно разные типы текстур?
  2. Должна ли текстура GL_TEXTURE_EXTERNAL_OES иметь формат YUV?Если нет, то что решает формат данных?

1 Ответ

0 голосов
/ 20 декабря 2018

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

Обычные текстуры определяются, распределяются и полностью управляются графическим драйвером.

Внешние текстуры определяются и распределяются в другом месте и импортируются в графический драйвер некоторым способом, определяемым реализацией,Одним из распространенных применений является импорт YUV-видео, поэтому внешние сэмплеры также должны иметь возможность обрабатывать преобразование цветового пространства и нестандартные макеты памяти (например, многоплоскостные поверхности YUV).

Имеет ли GL_TEXTURE_EXTERNAL_OES текстурудолжен быть в формате YUV?

Нет.Некоторая внешняя сущность в системе определяет формат - он невидим для приложения, а преобразование цветового пространства волшебным образом обрабатывается стеком драйверов.Какие именно форматы поддерживаются, определяется реализацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...