我在使用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
它似乎很好地添加了颜色,但是当在中心完全组合时,颜色似乎已经消失了。