From ce666ed1bac7574874058b97cc31137e8109ab0a Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 3 Feb 2011 02:37:12 +0000 Subject: [PATCH] updated ScanLine Filter git-svn-id: svn://qnap.local/TwoTerm/trunk@2012 5590a31f-7b70-45f8-8c82-aa3a8e5f4507 --- ScanLineFilter.cikernel | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/ScanLineFilter.cikernel b/ScanLineFilter.cikernel index 1cd7211..6463df1 100644 --- a/ScanLineFilter.cikernel +++ b/ScanLineFilter.cikernel @@ -3,23 +3,22 @@ * */ -kernel vec4 scanline(sampler image, float strength) +kernel vec4 scanline(sampler image, float l, float d) { - - vec4 fudge = vec4( 0.4, 0.4, 0.4, 0.0 ); + vec4 light, dark; vec2 coord = samplerCoord(image); vec4 pixel = sample(image, coord); - - - fudge *= strength; - - float yy = mod(coord.y, 2.0); - - fudge *= (yy < 1.0) ? 1.0 : -1.0; - pixel = unpremultiply(pixel); - pixel += fudge; - return premultiply(pixel); + light = dark = pixel; + + + dark.rgb = pixel.rgb * (1.0 - d); + light.rgb = pixel.rgb * (1.0 - l) + l; + + pixel.rgb = mod(coord.y, 2.0) < 1.0 ? light.rgb : dark.rgb; + + + return premultiply(pixel); }