www.pudn.com > DemoFluid2D.zip > smAdvect2D.psh


!!FP1.0 
#2d FLUID ADVECT 
DECLARE TexPARA = {0,0,0,0}; 
#Velocity[J][I]--Tex0 
FLR R2, f[WPOS]; 
TEX R0, R2, TEX0, RECT; 
MUL R0, R0.xyxy, TexPARA.xyxy; 
SUB R1, R2.xyxy, R0; 
 
#R1---X 
#R0---Floor(X) 
FLR R0, R1; 
ADD R0, R0, {0,0,1,1}; 
SUB R1, R1, R0; 
 
#interpolate 4 nodes together 
#(i0,j0)-->R2 
TEX R2, R0.xyww, TEX1, RECT; 
#(i0,j1)-->R3 
TEX R3, R0.xwww, TEX1, RECT; 
LRP R4, R1.yyyy, R3, R2; 
 
#(i1,j0)-->R2 
TEX R2, R0.zyww, TEX1, RECT; 
#(i1,j1)-->R3 
TEX R3, R0.zwww, TEX1, RECT; 
LRP R3, R1.yyyy, R3, R2; 
 
LRP R3, R1.xxxx, R3, R4; 
 
#import the boundary condition 
TEX R1, f[WPOS], TEX2, RECT; 
 
#old velocity 
TEX R2, f[WPOS], TEX1, RECT; 
MOV R2.zw, R3; 
 
LRP o[COLR], R1.wwww, R3, R2; 
 
END