我有精灵,当它们重叠时,我希望它们“添加”它们的颜色rgb值(可能)变成白色,精灵也有changin alpha值,应该保持不变。我已经尝试过使用所有spritebatch选项alphablend,additive等...
这可以通过spritebatch实现,还是需要着色器?
谢谢, 保罗。
答案 0 :(得分:0)
在XNA 4中使用Premultiplied Alpha方案,您可以通过将纹理绘制为0 alpha来进行加法混合。因为这意味着纹理完成了0个阻塞,然后将RGB添加到其后面的像素中,就会得到叠加混合。
使用spritebatch模式'Alphablend'绘制带有0 alpha的纹理。要降低可加性,请增加alpha。为了降低其可见度,降低RGB。
如果您使用此功能,我强烈建议您确保内容中的任何纹理都在其属性中选中“预乘Alpha”选项。