2

Androidアプリケーションにいくつかのテクスチャをロードしようとしています。

samsung galaxy ace、s2などのすべてのデバイスで正常に動作しますが、PowerVR SGX540 gpuを使用するデバイス、たとえばsamsunggalaxyS-gti9000
には奇妙なアーティファクトがあります。

一部のテクスチャは正しくロードされます...しかし、他のテクスチャは完全に黒です...。

すべてのテクスチャが2の累乗であることを確認しましたが、正方形ではなく、長方形(64 * 128など)にすることができます。

テクスチャパラメータの設定には以下を使用しています。

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);
4

1 に答える 1

1

ティムが示唆するように、さまざまなデバイスの dpi に一致するように画像のサイズを変更する Android が役立つ可能性があります。

画像がロードされたら、画像のサイズをチェックして、まだ 2 の累乗であることを確認します。リソース ファイルを配置すると、res/drawable-nodpiサイズを変更したくないことが Android に通知されます。

于 2012-08-21T09:26:18.293 に答える