author | Alex Gilkes <alex.gilkes@nokia.com> |
Mon, 11 Jan 2010 14:00:40 +0000 | |
changeset 0 | 1918ee327afb |
permissions | -rw-r--r-- |
uniform sampler2D dst_texture; uniform sampler2D mask_texture; uniform vec2 inv_mask_size; uniform vec2 inv_dst_size; uniform vec2 mask_offset; uniform vec4 mask_channel; float mask() { return dot(mask_channel, texture2D(mask_texture, (gl_FragCoord.xy + mask_offset) * inv_mask_size)); } void main() { vec4 dst = texture2D(dst_texture, gl_FragCoord.xy * inv_dst_size); // combine clip and coverage channels float mask_alpha = mask(); gl_FragColor = mix(dst, composite(brush(), dst), mask_alpha); }