К сожалению, OpenGL ES обрабатывает параметры glTex (Sub) Image * иначе, чем OpenGL на рабочем столе.
В настольном OpenGL фактический формат текстуры определяет внутренний формат . В GL ES 2.0 это * значения формата и типа определяют это. Поэтому, если вы загрузите текстуру (GL_RGBA, GL_UNSIGNED_BYTE), это эквивалентно использованию GL_RGBA8 в качестве внутреннего формата.
Это означает, что если вы хотите использовать текстуру с плавающей точкой, вы используете (GL_RGBA, GL_FLOAT) в качестве параметров format и type . Это бессмысленное несоответствие между двумя спецификациями.