Из Спецификация OpenGL ES 2.0 в разделе 4.4.5:
"Форматы, не перечисленные в таблице 4.5, включая сжатые внутренние форматы. цвета, глубины или трафаретов, независимо от того, какие компоненты они содержат."
Затем существуют расширения, расширяющие эту таблицу, такие как:
Если я правильно понял спецификацию, таблица 4.5 затрагивает как форматы текстур, так и renderbuffer. И в этом случае, например, текстуры RGB и RGBA с 8 бит на компонент не являются рендерируемыми цветом, если не поддерживается расширение OES_rgb8_rgba8 (или ARM_rgba8 для RGBA).
На тестовом устройстве, которое поддерживает OES_rgb8_rgba8, допустимы следующие форматы текстур, то есть фреймбуфер завершается при присоединении к FBO в качестве привязки цвета:
- RGB 565
- RGB 888
- RGBA 4444
- RGBA 5551
- RGBA 8888
И это не так:
- Alpha 8
- Яркость 8
- LuminanceAlpha 88
Результаты соответствуют моим предположениям (по крайней мере, на 1 устройстве), но я хотел бы знать, правильно ли я понял спецификацию или это работает случайно?