XNA重叠时添加颜色

时间:2011-08-05 18:15:54

标签: colors xna collision

我有精灵,当它们重叠时,我希望它们“添加”它们的颜色rgb值(可能)变成白色,精灵也有changin alpha值,应该保持不变。我已经尝试过使用所有spritebatch选项alphablend,additive等...

这可以通过spritebatch实现,还是需要着色器?

谢谢, 保罗。

1 个答案:

答案 0 :(得分:0)

在XNA 4中使用Premultiplied Alpha方案,您可以通过将纹理绘制为0 alpha来进行加法混合。因为这意味着纹理完成了0个阻塞,然后将RGB添加到其后面的像素中,就会得到叠加混合。

使用spritebatch模式'Alphablend'绘制带有0 alpha的纹理。要降低可加性,请增加alpha。为了降低其可见度,降低RGB。

如果您使用此功能,我强烈建议您确保内容中的任何纹理都在其属性中选中“预乘Alpha”选项。