2012-04-23 10 views
1

テクスチャファイルのスムーズなアルファグラデーションに問題があり、バンディングの問題が発生します。XNA WP7でのアルファ透明度によるバンディング

私は2D XNA WP7ゲームを持っています。私はかなり単純なライティングシステムを考え出しました。別のRenderTarget2Dでライトで照らされる領域を描画し、ライトから離れるにつれてエッジを薄暗くするためにスプライトを適用し、その最終ライティングイメージをメインイメージとブレンドして、特定の領域をより暗く軽くします。

は、ここで私はこれまで持っているものです:

spotlight mask

light banding example

あなたが見ることができるように、バンディングはかなり悪いです。ソース画像ではアルファ透明度が非常に滑らかですが、スプライトを描画するたびに色間の醜い醜いステップが得られます。ちょうど私が通常のアルファブレンディングでスポットライトマスクをシーンにまっすぐに描いたことを確認すると、まだバンディングがあります。

スプライトを描画するときにスムーズなアルファグラデーションを保持する方法はありますか?

答えて

1

マンゴーで、アプリは32bppをサポートするように指定でき、サポートするデバイスでも機能するようになりました。 XNAについては

no light banding example

OnNavigatedToの先頭に次の行を置く:Silverlightの

SharedGraphicsDeviceManager.Current.PreferredBackBufferFormat = SurfaceFormat.Color; 

WMAppManifest.xmlApp要素にBitsPerPixel="32"を追加します。

1

スプライトを描画するときにスムーズなアルファグラデーションを維持する方法はありますか?

いいえ、できません。 WP7携帯電話は現在、16ビットカラーレンジシステムを使用しています。 1つのpixesが得られました:5の赤いビット、5つの青、6つの緑(人間はより広い緑色のスペクトルを見る)。

+0

ああ。まあそれはそれを説明するだろう。少なくとも私は今それを修正することについて心配する必要はありません。 – RandomEngy

関連する問題