2

OpenGLを使用していくつかの基本的な形状と平面をレンダリングするライブ壁紙を市場に出しました。単純な照明は、平面全体にグラデーション効果を作成します。これは、ほとんどのデバイスで問題なく表示されます。ただし、このスクリーンショットでわかるように、SamsungGalaxyS2シリーズではグラデーションのレンダリングに問題があるようです。

GS2のバンディング

特に信じられないほどからのこのスクリーンショットと比較して、カラーバンディングはひどく見えます:

DIncにバンディングなし

どちらの場合も565EGL構成を使用しているので、これはGS2デバイスの表示の問題にすぎないと思います。誰かがこの疑いを確認できますか?

バンディングの解決策はありますか?

4

3 に答える 3

2

565を要求したにもかかわらず、実際には565を取得していることを確認できますか?最終的に得られるものを確認するためのEGL関数があります。信じられないほどのデバイスや他のデバイスで888を取得している可能性があるため、両方のデバイスをチェックすることを参照します。これにより、ディスプレイの見栄えが良くなります。

于 2011-12-29T16:37:36.040 に答える
1

それは実際にはGS2のディスプレイ、より正確にはそのディザリングアルゴリズムのように見えます。要求された構成をRGB888にアップしようとしましたが、これが(テストユーザーの電話から)取得したものです。

バンディングなしGS2

したがって、GS2は、888スペースの色を565構成にマップしようとすると、ディザリングという恐ろしい仕事をしているように見えます。

すべてのデバイスで構成を888に上げたいのか(品質は向上しますが、パフォーマンスが低下します)、ディザリングが不十分であることがわかっているデバイスのみで構成を上げたいのかわかりません。うーん。

于 2011-12-30T17:47:57.920 に答える
0

GLでディザリングを無効にしようとしましたか?これは少し役立つかもしれません。

GLES20.glDisable(GLES20.GL_DITHER);
于 2012-01-06T06:42:58.833 に答える