Полупрозрачные текстуры выглядят по-разному на разных телефонах Android - PullRequest
2 голосов
/ 24 февраля 2012

Я использую opengl, довольно новый для него. Недавно я пытался отобразить полупрозрачное облако в моем приложении, но на Galaxy S и HTC HTC Desire он выглядел по-разному: (.

Вот изображение облаков на обоих телефонах облаков на Galaxy S и Desire HD .

Давным-давно читал, казалось, что Bitmap.config имеет что-то вроде проблемы, поэтому я добавил эту строку перед загрузкой моих растровых изображений:

mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;

Разницы не было. Очень ценю любые советы, спасибо!

Edit:

Я добавил следующие две строки в метод onCreate, но текстура остается одинаковой на обоих телефонах.

    getWindow().setFormat(PixelFormat.RGBA_8888);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);

Edit:

Я пытался нарисовать то же изображение, используя статический спрайт api, чтобы исключить ошибки в моем коде, но получил ту же проблему.

Edit:

Также попробовал нарисовать одну и ту же текстуру на HTC Sensation и LG Optimus 2x. Та же проблема на HTC Sensation, что и на Desire HD, никаких проблем на LG Optimus 2x.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Этот вопрос может быть связан с вашим.Возможно, вы работаете с неофициальной сборкой в ​​HTC Desire HD.

Также попробуйте следующие настройки (позвоните по вашему методу Activity.onCreate(..)):

getWindow().setFormat(PixelFormat.RGBA_8888);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);
0 голосов
/ 24 февраля 2012

Попробуйте включить дизеринг, набрав gl.glEnable(GL10.GL_DITHER) (или эквивалент используемой вами версии gl, если не GL10).

Edit: и, если это не сработает, также вызовите getWindow().setFormat(PixelFormat.RGBA_8888); в вашемonCreate() метод.

...