Происхождение текстуры OpenGL ES отличается от верхнего / левого до нижнего / левого на разных телефонах - PullRequest
1 голос
/ 04 октября 2011

В настоящее время я разрабатываю приложение OpenGL ES 2.0 на основе NDK.И я загружаю текстуры, используя libjpeg, перелистывая его вертикально (как говорит стандарт OpenGL).Он отлично работает на Samsung Galaxy SII, HTC Desire HD и т. Д. (+ Реализация Windows SDL).Но на некоторых телефонах (например, Samsung Galaxy S GT-I9000 по отчетам пользователей Android Market) существует старая специфическая для Android проблема с orign, расположенная в верхней / левой части изображения, а не внизу / слева.Как я могу определить, следует ли мне переворачивать текстуры или нет во время выполнения?

Я думал о рендеринге некоторого тестового шаблона для текстуры и последующем анализе вывода, но это слишком сложный обходной путь.Должен быть более простой способ.

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Похоже, я сам исправил эту проблему. Я начал использовать сжатые текстуры ETC1 вместо несжатых, и это помогло решить эту странную проблему.

0 голосов
/ 21 августа 2012

Я хочу спросить вас о вашей проблеме ...

У меня возникли некоторые проблемы при загрузке текстур на устройство gt-i9000 и на все другие устройства, использующие графический процессор PowerVR SGX540 или PowerVR SGX530.

Я использую текстуры ETC. Они работают на всех других устройствах, но на этих устройствах некоторые текстуры похожи на черный ...

Есть ли какие-либо конкретные настройки, которые вы используете в своих функциях glTexParameterf (...)?

Я использую это:

gl.glActiveTexture(GL10.GL_TEXTURE0);               
gl.glBindTexture(GL10.GL_TEXTURE_2D, glTextureId);
gl.glTexParameterf(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR);
gl.glTexParameterf(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR); 
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE);                  
...