home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 April / PCWorld_2007-04_cd.bin / audio-video / kmplayer / kmp.exe / Shader / Sharpen_3x3.txt < prev    next >
Text File  |  2006-09-19  |  1KB  |  41 lines

  1. // Sharpen_3x3=ps_2_0
  2. // http://www.homecinema-fr.com/forum/viewtopic.php?t=29814317 
  3.  
  4. sampler s0 : register(s0); 
  5. float4 p0 : register(c0); 
  6. float4 p1 : register(c1); 
  7.  
  8. #define width (p0[0]) 
  9. #define height (p0[1]) 
  10. #define counter (p0[2]) 
  11. #define clock (p0[3]) 
  12. #define one_over_width (p1[0]) 
  13. #define one_over_height (p1[1]) 
  14.  
  15. #define PI acos(-1) 
  16.  
  17. #define x 0.8 
  18.  
  19. float4 main(float2 tex : TEXCOORD0) : COLOR 
  20.  
  21.    float dx = one_over_width*x;
  22.    float dy = one_over_height*x;
  23.  
  24.    float4 c9 = tex2D(s0, tex) * 2.0; 
  25.  
  26.    float4 c1 =  tex2D( s0, tex + float2( -dx , -dy ) ) * 0.1; 
  27.    c1 +=  tex2D( s0, tex + float2( 0 , -dy ) ) * 0.15; 
  28.    c1 +=  tex2D( s0, tex + float2( dx , -dy ) ) * 0.1; 
  29.  
  30.    c1 +=  tex2D( s0, tex + float2( -dx , 0 ) ) * 0.15; 
  31.    c1 +=  tex2D( s0, tex + float2( dx , 0 ) ) * 0.15; 
  32.  
  33.    c1 +=  tex2D( s0, tex + float2( -dx , dy ) ) * 0.1; 
  34.    c1 +=  tex2D( s0, tex + float2( 0 , dy ) ) * 0.15; 
  35.    c1 +=  tex2D( s0, tex + float2( dx , dy ) ) * 0.1; 
  36.  
  37.    float4 c0 = c9 -c1 ; 
  38.  
  39.    return c0;