2009-06-26 6 views
0

OpenGL ESベースのiPhoneゲームでグラデーション付きのpngをテクスチャとして使用しようとしました。グラデーションは正しく描画されません。これをどうすれば解決できますか?iPhoneでOpenGL ESを使用してグラデーション付きのpngを正しく表示するにはどうすればよいですか?

「正しく描画されていない」とは、グラデーションが滑らかではなく、滑らかな遷移ではなく特定の色のセクションに劣化しているように見えることを意味します。

+0

「正しく描かれていない」とはどういう意味ですか? –

+0

あなたは透明性を使用していますか?またはこれらの不透明なグラデーションがあり、バンディングが見られていますか?どのようにテクスチャをロードしていますか?彼らはRGBA8ですか、それとも圧縮形式ですか? –

答えて

1

基本的な問題は、テクスチャにRGBのビット数が少なすぎるか、フレームバッファが少なすぎることです。 PNGファイルは、グラフィックスハードウェアによって直接使用されることはありません。内部形式に変換する必要があります。私はOpenGL ES APIを知らないのですが、おそらくあなたはそれを.PNGファイルに直接渡すか、何らかの変換ステップを行い、変換されたデータをOpen GL ESに渡します。いずれの場合も、関連する文書を参照して、使用される内部形式が十分な深さであることを確認してください。例えば、24ビットのRGBまたは32ビットのRGBAフォーマットと同様に、256色のパレット化された画像で十分である。あなたのPNGがRGB15またはRGB16に変換されていることが強く疑われます。これは、色成分ごとに5または6ビットしかありません。滑らかなグラデーションを表示するには十分ではありません。

関連する問題