2011-08-05 45 views
0

我有一些精靈,當它們重疊時,我希望它們將它們的顏色rgb值'添加'到(可能)變白,精靈也具有應該保持不變的changin alpha值。我已經嘗試使用所有的spritebatch選項alphablend,添加劑等...XNA在重疊時添加顏色

這是可能的通過spritebatch或將我需要着色器?

謝謝, 保羅。

+1

添加劑沒有給你想要的效果? –

+0

不,它不會添加只是將顏色添加到一起 - 所以綠色綠色使綠色色調更強 - 通過組合顏色來組合顏色。 – Paul

回答

0

在XNA 4中使用預乘Alpha模式,可以通過將紋理繪製在0 alpha處來進行疊加混合。因爲這意味着紋理完成了0次遮擋,然後將RGB添加到它後面的像素,則可以獲得疊加混合。

只需使用spritebatch模式'Alphablend'繪製0 alpha的紋理。要降低可加性,請增加alpha。爲了減少可見度,降低RGB。

我強烈建議您確保您的內容中的任何紋理在其屬性中勾選了「預乘Alpha」選項,如果使用此選項。

+0

雖然我不是在單獨的通道尋找添加劑--RGB,所以在上面的綠色綠色產生更強的綠色色調,但我所尋找的是當顏色重疊相同的顏色時它變白其他的。 – Paul

+0

正是這樣做,如果你做得對。如果你只有綠色,增加更多的綠色會讓你......更明亮的綠色。在那裏扔一點紅/藍,你就會得到你的結果。 –

+0

我知道這樣做,但那不是我所追求的 - 我尋找綠色的綠色(即相同的顏色以及替代品)以產生白色。 我會考慮hlsl作爲一個選項。 – Paul