2012-04-23 61 views
1

在紋理文件中導致光滑alpha透明度存在一些問題,從而導致不良綁定問題。在XNA WP7中使用alpha透明度進行綁定

我有一個2D XNA WP7遊戲,我已經想出了一個相當簡單的照明系統。我在單獨的RenderTarget2D中繪製燈光照亮的區域,在距離燈光較遠時應用精靈來調暗邊緣,然後將該最終照明圖像與主圖像混合,以使某些區域變得更暗和更亮。

這裏是我到目前爲止有:

spotlight mask

light banding example

正如你所看到的,條帶是非常糟糕的。源圖像中的alpha透明度非常平滑,但是每當我繪製精靈時,它都會在顏色之間獲得這些巨大難看的步驟。只是爲了檢查,我用正常的alpha混合將聚光燈面罩直接帶到了場景中,並且我仍然得到了綁定。

有什麼辦法在繪製小精靈時保留平滑的alpha漸變?

回答

1

發現用芒果,應用程序現在可以指定它們支持32bpp,並且它可以在支持它的設備上工作!

no light banding example

對於XNA,就把這條線在OnNavigatedTo頂部:

SharedGraphicsDeviceManager.Current.PreferredBackBufferFormat = SurfaceFormat.Color; 

爲Silverlight中添加WMAppManifest.xmlBitsPerPixel="32"App元素。

1

有什麼辦法在繪製精靈時保留平滑的alpha梯度?

不,你不能。 WP7手機目前使用16位色彩範圍系統。一個像素得到:5紅色位,5藍色,6綠色(人類看到更廣泛的綠色)。

+0

哦。那麼會解釋它。至少我現在不需要擔心修復它。 – RandomEngy 2012-04-23 04:17:15