www.pudn.com > DemoFluid2D.zip > smDivergence2D.psh
!!FP1.0
#2d FLUID Project to get Div(U,V)
DECLARE TexPARA = {0,0,0,0};
#TEX0 -- VelocityTexID
#U = VelocityTexID.x
#V = VelocityTexID.y
ADDH H0, f[WPOS].xyxy, {1,0,-1,0};
#U(i+1,j)
TEX R1.x, H0.xyww, TEX0, RECT;
#U(i-1,j)
TEX R2.x, H0.zwww, TEX0, RECT;
SUB R1.x, R1.x, R2.x;
ADDH H0, f[WPOS].xyxy, {0,1,0,-1};
#V(i,j+1)
TEX R1.y, H0.xyww, TEX0, RECT;
#V(i,j-1)
TEX R2.y, H0.zwww, TEX0, RECT;
SUB R1.y, R1.y, R2.y;
MUL R1.xy, R1, TexPARA;
ADD o[COLR], R1.x, R1.y;
END