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 >
Wrap
Text File
|
2010-05-20
|
2KB
|
87 lines
// Undot=ps_3_0
// http://www.homecinema-fr.com/forum/viewtopic.php?t=29814317
sampler s0 : register(s0);
float4 p0 : register(c0);
float4 p1 : register(c1);
#define width (p0[0])
#define height (p0[1])
#define counter (p0[2])
#define clock (p0[3])
#define one_over_width (p1[0])
#define one_over_height (p1[1])
#define PI acos(-1)
#define dx one_over_width
#define dy one_over_height
#define val0 0.2
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float4 current = tex2D(s0, tex);
float4 Total = current ;
float n = 1;
float4 c0 = tex2D( s0, tex + float2( -dx , -dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( 0 , -dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( dx , -dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( -dx , 0 ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( dx , 0 ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( -dx , dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( 0 , dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
c0 = tex2D( s0, tex + float2( dx , dy ) );
if( length( current - c0 ) > val0 )
{
Total += c0;
n += 1.0;
}
return( Total / n );
}