www.pudn.com > GPUVision_5-13-05-2.zip > cal_w_mtx.cg
// Main shader.
float4 main( in float4 pos : WPOS,
uniform float beta,
//uniform float seg_idx,
uniform samplerRECT temp,
uniform samplerRECT a
) : COLOR
{
float4 OUT;
float2 coord;
float value;
//ToDo::actually, we need only half of these
//ToDo::also think about sub-segments
value=texRECT(a, pos.xy).r;
coord.x=pos.x;
coord.y=pos.y-1;
//OUT.r=(texRECT(a, coord).a==seg_idx &&
// texRECT(a, pos.xy).a==seg_idx)?
// exp(-1*(texRECT(a, coord).r-value)*(texRECT(a, coord).r-value)/beta):0;
OUT.r=exp(-1*(texRECT(a, coord).r-value)*(texRECT(a, coord).r-value)*beta);
coord.y=coord.y+2;
OUT.a=exp(-1*(texRECT(a, coord).r-value)*(texRECT(a, coord).r-value)*beta);
coord.x=coord.x-1;
coord.y=coord.y-1;
OUT.g=exp(-1*(texRECT(a, coord).r-value)*(texRECT(a, coord).r-value)*beta);
coord.x=coord.x+2;
OUT.b=exp(-1*(texRECT(a, coord).r-value)*(texRECT(a, coord).r-value)*beta);
return OUT;
}