我有紋理透明度的問題,我希望你能幫助。紋理透明
詳情:
- XNA 4.0
紋理源BMP,我所說的代碼使透明:
public void Feketealapú(string Azonosító) { //textúra megállapítása Texture2D Textúra = Textúrák[TextúraSzáma(Azonosító)]; //adatok lekérése Color[] buffer = new Color[Textúra.Width * Textúra.Height]; Textúra.GetData<Color>(buffer); //adatok módosítása for (int i = 0; i < buffer.Length; i++) { Color szín = buffer[i]; szín.A = ((byte)((szín.R + szín.B + szín.G)/3)); buffer[i] = szín; } //adatok visszaírása Textúra.SetData<Color>(buffer); }
我用下面的之前,我開始畫3D的東西:
public void Rajzolj() { GStatic.Játék.GrafikaiCsatorna.BlendState = BlendState.AlphaBlend; GStatic.Játék.GrafikaiCsatorna.DepthStencilState = DepthStencilState.Default; GStatic.Játék.GrafikaiCsatorna.RasterizerState = RasterizerState.CullCounterClockwise; GStatic.Játék.GrafikaiCsatorna.SamplerStates[0] = SamplerState.LinearWrap;
..等等。
如果我使用BlendState.Opaque,則不會獲得透明紋理。
,我到下面的麻煩:http://youtu.be/ZiPzyk7AWu8
編輯:關於這個問題一些詳細信息是:這個問題是與透明質感,什麼模擬火焰效果。火是來自具有這些透明紋理的幾個矩形。如果我從某個角度看到火焰,我應該通過透明紋理看到另一個火焰效果的矩形,也是透明的。問題是,而不是這個,我看到模型後面的地板紋理,而不是。
所以有人可以幫我一下嗎?
在此先感謝: 彼得
你有沒有考慮一個約束廣告牌,而不是4個四邊形。它會用更少的頂點和代碼來解決這個問題。 – 2012-04-01 23:45:13
+1確實很不錯,但我不想要它。 – 2012-04-03 15:40:37