当分层多个时,我必须至少将它们与“空”图像或背景组合一次。但没有什么比得上“空”。它是透明的黑色或透明的白色。即使是完全透明的,也会有一种在显示时通常会被忽略的颜色。
我想要以下内容:
Destination = Image1 + Image2
为此,我实际上是这样做的:
Clear(Destination, 0); // Clear it with transparent black
Blend Image1 over Destination
Blend Image2 over Destination
虽然目的地是透明的黑色,但黑色有助于最终结果,这是我想避免的。我可以用透明的白色清除目的地,但它只适用于这个例子,并且对较暗的图像产生同样的问题。
我理解为什么结果是这样的:directx 混合公式设置如下:
BlendOp = Add;
SrcBlend = SrcAlpha;
DestBlend = InvSrcAlpha;
目的地的 alpha (DestAlpha) 在这个公式中根本没有考虑。我能做些什么来解决这个日常问题,即在将两个图像渲染到其他地方之前将它们混合在一起?