我正在XNA中爲我的紋理繪製單色的像素。但是,似乎有混合發生,因爲我在屏幕上繪製的顏色與我的背景顏色混合在一起。如何關閉此功能,以便我繪製的顏色只是我繪製的顏色?在XNA中關閉紋理混合
this.spriteBatch.Draw(texture, new Rectangle(x, y, 1, 1), [My Color]);
我正在XNA中爲我的紋理繪製單色的像素。但是,似乎有混合發生,因爲我在屏幕上繪製的顏色與我的背景顏色混合在一起。如何關閉此功能,以便我繪製的顏色只是我繪製的顏色?在XNA中關閉紋理混合
this.spriteBatch.Draw(texture, new Rectangle(x, y, 1, 1), [My Color]);
我嘗試了上述方法沒有任何的運氣。相反,我創建了一個1x1純白色像素,並將其用作打底的基礎。它解決了混合問題。
檢查「[我的顏色]」的alpha通道。
或者:
device.RenderState.AlphaBlendEnable = false;
傳遞一個SpriteBlendMode枚舉到您的通話SpriteBatch.Begin關閉alpha混合:
spriteBatch.Begin(SpriteBlendMode.None);
SpriteBlendMode不在XNA 4.0+ – ohmusama 2012-06-02 22:59:21