home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Aplikacje_64-bitowe / Daum_PotPlayer / PotPlayer1.5.29332-x64.EXE / PxShader / Undot.txt < prev    next >
Text File  |  2010-05-20  |  2KB  |  87 lines

  1. // Undot=ps_3_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 dx one_over_width 
  18. #define dy one_over_height 
  19.  
  20. #define val0 0.2 
  21.  
  22. float4 main(float2 tex : TEXCOORD0) : COLOR 
  23.    float4 current = tex2D(s0, tex); 
  24.  
  25.    float4 Total = current ; 
  26.    float n = 1; 
  27.  
  28.    float4 c0 =  tex2D( s0, tex + float2( -dx , -dy ) ); 
  29.    if( length( current - c0 ) > val0  ) 
  30.    { 
  31.       Total += c0; 
  32.       n += 1.0; 
  33.    } 
  34.  
  35.  
  36.    c0 =  tex2D( s0, tex + float2( 0 , -dy ) ); 
  37.    if( length( current - c0 ) > val0  ) 
  38.    { 
  39.       Total += c0; 
  40.       n += 1.0; 
  41.    } 
  42.  
  43.    c0 =  tex2D( s0, tex + float2( dx , -dy ) ); 
  44.    if( length( current - c0 ) > val0  ) 
  45.    { 
  46.       Total += c0; 
  47.       n += 1.0; 
  48.    } 
  49.  
  50.    c0 =  tex2D( s0, tex + float2( -dx , 0 ) ); 
  51.    if( length( current - c0 ) > val0  ) 
  52.    { 
  53.       Total += c0; 
  54.       n += 1.0; 
  55.    } 
  56.  
  57.    c0 =  tex2D( s0, tex + float2( dx , 0 ) ); 
  58.    if( length( current - c0 ) > val0  ) 
  59.    { 
  60.       Total += c0; 
  61.       n += 1.0; 
  62.    } 
  63.  
  64.    c0 =  tex2D( s0, tex + float2( -dx , dy ) ); 
  65.    if( length( current - c0 ) > val0  ) 
  66.    { 
  67.       Total += c0; 
  68.       n += 1.0; 
  69.    } 
  70.  
  71.    c0 =  tex2D( s0, tex + float2( 0 , dy ) ); 
  72.    if( length( current - c0 ) > val0  ) 
  73.    { 
  74.       Total += c0; 
  75.       n += 1.0; 
  76.    } 
  77.  
  78.    c0 =  tex2D( s0, tex + float2( dx , dy ) ); 
  79.    if( length( current - c0 ) > val0  ) 
  80.    { 
  81.       Total += c0; 
  82.       n += 1.0; 
  83.    } 
  84.  
  85.    return( Total / n );