PowerVRSGXシリーズを除くすべての電話で正常に動作するOpenGLライブ壁紙があります。これには、ほぼすべてのSamsung電話とMotorolaDroidシリーズが含まれます。壁紙は、PowerVRGPU電話の黒い画面に他なりません。私はこの問題を理解しようとして1週間頭を悩ませてきましたが、運がありませんでした。
異なるGPUの違いの1つは、テクスチャ圧縮です。その点で私が行ったことのいくつかは、テクスチャ画像を256x256の正方形に変更したことです。それを8ビットから16ビットのrgbaに変更し、インデックスを作成してみました。
PowerVRで利用できるすべての拡張機能とAdrenoで利用できる拡張機能のリストがあります。利用可能な拡張機能にはかなりの違いがあるようですが、どの機能がどの拡張機能に対応しているかはわかりません(多少推測できますが)。これが私が使用する関数のリストです:
- glLightfv
- glMaterialfv
- glDepthFunc
- glEnableClientState
- glViewport
- glMatrixMode
- glLoadIdentity
- gluPerspective
- glclearcolor
- glclear
- glTranslatef
- glRotatef
- glVertexPointer
- glTexCoordPointer
- glColor4f
- glNormal3f
- glDrawArrays
- glTexParamterx
私はRobertGreenのGlWallPaperServiceを使用しており、デバイスでテクスチャ三角形を描画しようとしてこのソリューションを試しましたが、エミュレータは機能します。なんで?。PowerVRチップがなぜ私にそんなに苦労しているのか、そして私がそれについて何ができるのか、誰かが知っていますか?