semilagranianfluidmodifyuv.fp

来自「PDE simulator on GPU.」· FP 代码 · 共 36 行

FP
36
字号
!!FP1.0
#2d FLUID ADVECT to modify UV according to pressure
DECLARE TexPARA = {0,0,0,0};

ADDH H0, f[WPOS].xyxy, {1,0,-1,0};
#Pressure(i+1,j)---Tex0
TEX R1, H0.xyww, TEX0, RECT;

#Pressure(i-1,j)
TEX R2, H0.zwww, TEX0, RECT;
SUB R3.x, R1.x, R2.x;

ADDH H0, f[WPOS].xyxy, {0,1,0,-1};
#Pressure(i,j+1)
TEX R1, H0.xyww, TEX0, RECT;

#Pressure(i,j-1)
TEX R2, H0.zwww, TEX0, RECT;
SUB R3.y, R1.x, R2.x;

MUL R3.xy, R3, TexPARA;

#Velocity(i,j)---Tex1
TEX R0, f[WPOS], TEX1, RECT;
SUB R3.xy, R0, R3;

#don't change the density component in G channel
MOV R3.zw, R0;

#Import the boundary condition
TEX R1, f[WPOS], TEX2, RECT;

MUL o[COLR], R1, R3;

END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?