Directx9使用精灵如何实现纹理颜色的混合?

Dark_sword Dark_sword 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在试着模仿做个2D游戏,在特效这遇到了问题:
一系列的特效图片不是透明背景png,而是黑色背景,和隐隐发光的边缘,和强光本体组成【好吧说白了就是魔法弹幕】,无法利用关键色处理【因为没有一个统一的背景色】,如下图


想了半天总算想到了是利用图片的颜色和游戏其他场景颜色叠加,使得所有的黑色部分(RGB(0,0,0)附近部分)转变成原有背景色;然后经过一天的学习搜索觉得差不多是该用SetTextureStageState,但还有个问题一直解决不了,弹幕是可移动的,SetTextureStageState似乎只能将两个静态纹理混合,不能实现动态以及大小的变化。。
所以求问有什么方法解决。。最主要是想知道如何自由实现不同位图(或纹理)之间的自由颜色混合。。这样的话,弹幕在任意时刻和背景都是颜色叠加的,效果就出来了。。
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
Dark_sword
其它技术问题 3,881 成员 9,044 内容