У меня есть обои OpenGL Live, которые отлично работают на всех телефонах, кроме тех, что с серией PowerVR SGX.Это включает в себя почти все телефоны Samsung и серии Motorola Droid.Обои - только черный экран на телефонах PowerVR с графическим процессором.Я целую неделю ломал голову, пытаясь разобраться в этой проблеме, но мне не повезло.
Одно отличие между разными графическими процессорами - это сжатие текстур.Некоторые из вещей, которые я сделал в этом отношении, я изменил свое изображение текстуры на квадрат 256x256.Изменил его с 8-битного на 16-битный rgba и даже попытался проиндексировать.
У меня есть список всех расширений, которые доступны в PowerVR, и тех, которые доступны в Adreno.Кажется, что есть довольно много различий в доступных расширениях, но я не знаю, какие функции идут с какими расширениями (хотя я могу несколько догадываться).Вот список функций, которые я использую:
- glLightfv
- glMaterialfv
- glDepthFunc
- glEnableClientState
- glViewport
- glMatrixMode
- glLoadIdentity
- gluPerspective
- glclearcolor
- glclear
- glTranslatef
- glRotatef
- glVertexPointer
- glTexCoordPointer
- glColor4f
- glNormal3f
- glDrawArrays
- glTexParamterx
Я использую GlWallPaperService Роберта Грина и попробовал это решение на
. Попытка нарисовать текстурированные треугольники на устройстве не удалась, но эмулятор работает.Почему? .Кто-нибудь знает, почему чипы PowerVR доставляют мне такие трудности, и что я могу с этим поделать?