XNA 4.0添加剂混合

时间:2013-02-17 15:16:14

标签: c# xna xna-4.0

我在使用XNA 4.0中的添加剂混合时遇到了一些困难。我被告知添加剂混合在XNA 4.0中的工作方式与3.1以前的方式不同 - 这可能是导致我遇到这种困难的原因。

我试图获得加性效果,如果我有红色计划,绿色平面和蓝色平面,彼此顶部并面向用户 - 那么屏幕上显示的净颜色将是白色(红色) +绿色+蓝色=白色)。但是,这样做会导致我得到不同的结果。见下图:

https://dl.dropbox.com/u/824515/Untitled.png

我正在使用这种技术绘制我的飞机:

        GraphicsDevice.BlendState = BlendState.Additive;

        foreach (EffectPass pass in effect.CurrentTechnique.Passes)
        {
            pass.Apply();

            GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList, circle1, 0, points, VertexPositionColor.VertexDeclaration);
            GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList, circle2, 0, points, VertexPositionColor.VertexDeclaration);
            GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList, circle3, 0, points, VertexPositionColor.VertexDeclaration);
        }

编辑:以下是添加剂混合当前如何为我工作的一个更清晰的示例:https://dl.dropbox.com/u/824515/Untitled2.png

它似乎很好地添加了颜色,但是当在中心完全组合时,颜色似乎已经消失了。

0 个答案:

没有答案