Professional Documents
Culture Documents
Cartoon Shader
Cartoon Shader
sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define PI acos(-1)
if (color.r == fmax )
hsl.x = deltaB - deltaG; // Hue
else if (color.g == fmax)
hsl.x = (1.0 / 3.0) + deltaR - deltaB; // Hue
else if (color.b == fmax)
hsl.x = (2.0 / 3.0) + deltaG - deltaR; // Hue
return hsl;
}
if (hsl.y == 0.0)
rgb = float3(hsl.z, hsl.z, hsl.z); // Luminance
else
{
float f2;
return rgb;
}
float4 c0 = (-c1-c2-c3-c4+c6+c7+c8+c9);
c0 = 1-abs((c0.r+c0.g+c0.b)/av);
float val = pow(saturate((c0.r + c0.g + c0.b) / 3), SensitivityUpper);
val = 1 - pow(1 - val, SensitivityLower);
c0 = float4(val, val, val, val);
// colour
c1 = tex2D(s0,tex);
return c1 * c0;
}