Я пишу приложение gles2, которое отлично работает на всех устройствах, кроме Galaxy Notes.
Цвета, кажется, не RGBA, а какой-то ABGR (больше похоже на ABGA)
синие кнопки нарисованы желтыми, черные заголовки — красными (извините за публикацию фотографии, но скриншот показывает правильные цвета, что странно)
Я использую внеэкранный буфер, чтобы нарисовать все на нем, а затем нарисовать изображение этого буфера на экране.
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_width, m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0)
Вот как я использую texImage2d для текстур.
Я написал несколько тестовых приложений и что показывает скриншот:
Проверьте этот ответ .
В частности, если вы используете GL_UNSIGNED_BYTE
, Если вы сохраняете 4 байта в int, то вам следует использовать GL_UNSIGNED_INT_8_8_8_8
вместо. Тогда он будет знать, в каком порядке ожидать их для этой платформы.
Других решений пока нет …