我有纹理透明度的问题,我希望你能帮助。纹理透明
详情:
- 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