我有 2 个动态纹理,想将第二个纹理颜色添加到第一个纹理颜色但是就在第一个纹理颜色 alpha 不为 0 的地方 像逆透明的东西 我添加两个图片链接以显示我的意思:
到
只是碰撞部分必须添加两个纹理像素颜色
谢谢你的帮助
最佳答案
也许使用 BlendState.Additive 就足够了。
或者也许它可以通过自定义 BlendState 来实现......但我没有这方面的经验......
或者你可以制作一个着色器,你应该注意你必须四边形:
- Quad 和一个布娃娃。 (Qrd)
- 带圆圈的四边形。 (质检)
你在 Qrd 上绘制 Qc...
所以你必须将你在拥有 Qc 的像素着色器中获得的纹理坐标转换为 Qrd 空间中的纹理坐标......
然后从 Qrd 纹理中采样颜色, 如果 alpha 接近于零,则剪切像素... 否则你从 Qrc 纹理返回样本
关于c# - xna 4.0 需要特殊混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7783890/