laplace



  // laplace filter
  float time=0.5;
  float sampleDist = 1.0f/512.0f;  // distance one pixel in u/v
  
  sampler2D image : register(s0);
  
  static const float2 offsets[4] = {
  	-1,  0,
  	0,  1,
  	1,  0,
  	0, -1,
  };
  
  float4 main(
  	float4 Pos : POSITION,
  	float2 texCoord: TEXCOORD0) : COLOR 
  {
  	//float4 img = tex2D(image, texCoord);
  	//return img;
  
  	//  blur  (4 neigbours average)
  	float4 sum = 0;
  	float scale = 0.25;
  	float offset=0;
  
  	
  	//laplace filter
  	sum  = -4 * tex2D(image, texCoord);	
  	scale = 4.0;
  	offset = 0.5;
  
  	for (int i = 0; i < 4; i++) {
  		sum += tex2D(image, texCoord + sampleDist * offsets[i]);
  	}
  
  	sum = offset + sum * scale;	  
  	return sum;
  	//return lerp(sum,float4(1,1,1,1)-sum,time);	  //-sum
  }