图片混合
static Color NormalBlend(Color background, Color cover)
{
float CoverAlpha = cover.a;
float OneMinuCoverAlpha = 1-CoverAlpha ;
Color blendColor;
blendColor.r = cover.r * CoverAlpha + background.r * OneMinuCoverAlpha ;
blendColor.g = cover.g * CoverAlpha + background.g * OneMinuCoverAlpha ;
blendColor.b = cover.b * CoverAlpha + background.b * OneMinuCoverAlpha ;
blendColor.a = 1;
return blendColor;
}
static Color NormalBlend2(Color background, Color cover)
{
float CoverAlpha = cover.a;
Color blendColor;
float OneMinuCoverAlpha = 1-CoverAlpha ;
blendColor.a = cover.a + background.a * OneMinuCoverAlpha;
blendColor.r = (cover.r * cover.a + background.r * background.a * OneMinuCoverAlpha) / (blendColor.a);
blendColor.g = (cover.g * cover.a + background.g * background.a * OneMinuCoverAlpha) / (blendColor.a);
blendColor.b = (cover.b * cover.a + background.b * background.a * OneMinuCoverAlpha) / (blendColor.a);
return blendColor;
}
AmplifyShader-带Alpha贴图混合节点下载👈