PS中的Color是先获取原图的原图信息,然后再通过这个信息进行颜色叠加,主要是代码如下:
float3 BlendColor(float3 base, float3 blend)
{
float3 blendHSL = RGBToHSL(blend);
return HSLToRGB(float3(blendHSL.r, blendHSL.g, RGBToHSL(base).b));
}
上面的代码使用方式:
fixed4 frag(v2f IN) : SV_Target
{
fixed4 c = SampleSpriteTexture (IN.texcoord);
c.rgb = BlendColor(c.rgb,IN.color);
c.rgb *= c.a;
return c;
}