c# – xna 4.0中需要的特殊混合

我有2个动态纹理,并希望第二个纹理颜色添加到第一个纹理颜色但只是第一个纹理颜色alpha不是0

像反透明的东西

我添加两个图片链接,以显示我的意思是:

只是碰撞部分必须添加两个纹理像素颜色

你的帮助

最佳答案 也许使用BlendState.Additive对你来说已经足够了.

或者也许它可以通过自定义BlendState实现..但我没有经验这…

或者你可以制作一个着色器,你应该注意到你必须使用四边形:

> Quad配有布娃娃. (QRD)
>带圆圈的四边形. (QC)

你在Qrd上画Qc ……

所以你必须描述你在拥有Qc的像素着色器中得到的纹理坐标来纹理坐标在Qrd空间……

然后你从Qrd纹理中采样颜色,
如果alpha接近零,则剪切像素…
否则你从Qrc纹理返回样本

点赞