www.pudn.com > GPUVision_5-13-05-2.zip > DxDy2Pack.cg
// Main shader.
void main(float2 iCoords : TEX0,
uniform samplerRECT texture,
out float4 oColor : COLOR) {
// Sobel
float2 gx = -f2texRECT(texture,iCoords + float2(-1.0,-1.0)) +
-2*f2texRECT(texture,iCoords + float2(-1.0, 0.0)) +
-f2texRECT(texture,iCoords + float2(-1.0, 1.0)) +
f2texRECT(texture,iCoords + float2( 1.0,-1.0)) +
2*f2texRECT(texture,iCoords + float2( 1.0, 0.0)) +
f2texRECT(texture,iCoords + float2( 1.0, 1.0));
float2 gy = -f2texRECT(texture,iCoords + float2(-1.0,-1.0)) +
-2*f2texRECT(texture,iCoords + float2( 0.0,-1.0) ) +
-f2texRECT(texture,iCoords + float2( 1.0,-1.0)) +
f2texRECT(texture,iCoords + float2(-1.0, 1.0)) +
2*f2texRECT(texture,iCoords + float2( 0.0, 1.0) ) +
f2texRECT(texture,iCoords + float2( 1.0, 1.0));
oColor.x = max(gx.x,gx.y)/6;
oColor.y = max(gy.x,gy.y)/6;
oColor.z = length(oColor.xy);
oColor.w = atan(oColor.x/oColor.y);
}