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