// 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 }