我正在寻找一种在纹理的alpha通道上专门渲染的方法。我们的想法是在运行时创建一个“蒙版”,即渲染一个纹理,作为另一个纹理的alpha通道。
注意:我知道如何使用alpha通道和颜色键,所以请不要解释那些:)我正在寻找的是一种在运行时动态生成掩码的方法其他纹理。
我更喜欢使用图形卡的解决方案,而不是涉及获取像素缓冲区并在cpu中操作它们。
可能吗?
答案 0 :(得分:2)
很抱歉,如果我弄错了,但是因为你说“在alpha通道上”,那么就图形而言,通道只是AN图像的一个子组是不可能的。与rgb频道,bw频道,声道(深度等)等。
但是我想你想说的是把另一个图像放在原始蒙版的顶部,而顶部的图像应该看起来像覆盖下面的图像(然后调整透明度和中提琴),因此,发出“面具”的形象。 例如: 戴着面纱的新娘(新娘的脸是原始图像,而面纱是半透明的。通过观察,你会认为两者都只是一个图像。
有两种方法可以做到这一点,1是最简单的方法:
编辑将充当蒙版的图像并在图像处理程序中更改其不透明度,记得将其保存在png中。完成后,将第一个图像渲染为纹理,然后渲染不透明度编辑的图像。
与第一个相同,但不编辑第二个图像,只需在SDL2中编辑其alpha通道。 (使用此方法,您可以随时间动态控制它并将其渲染为纹理,从而利用图形卡。)
两者都会给出合并的2张照片的图像,第二张照片作为遮罩。
答案 1 :(得分:2)
回答可能感兴趣的其他人:
注意:这不是理想的方法,它涉及多个渲染和操纵纹理像素。但这足以让我的具体案例及其纯粹的SDL对我来说已经足够了。