⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matvector.fp

📁 PDE simulator on GPU.
💻 FP
字号:
!!FP1.0
#Date:2003/10/23
#try to compute General Matrix - Vector Multiplication Just For TEX2D
# Vector X ----TEX0
# Matrix y  ----TEX1
# Matrix Ai ----TEX2(Diagonal Data)

#TexPARA.X = Width;
#TexPARA.Y = Height;
#TexPARA.Z = DimensionS;
#TexPARA.W = I;
DECLARE TexPARA ={0, 0, 0, 0};

#x = 1.0/Width;
#y = 1.0/Height;
#z = 1.0/DimensionS;
RCP R2.x, TexPARA.x;
RCP R2.y, TexPARA.y;
RCP R2.z, TexPARA.z;

#Find the correct texel pos in tex0

#Tex0.y*Height*Width + Tex0.x*Width + i
MUL R0.xy, f[TEX0], TexPARA;
FLR R0.xyzw, R0.xyzw;
MAD R0.x, R0.y, TexPARA.x, R0.x;
ADD R0.x, R0.x, TexPARA.w;

#a = (Tex0.y*Height*Width + Tex0.x*Width + i)%DimensionS -->R0.x
MUL R1.x, R2.z, R0.x;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R0.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R0.x, R2.x;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R0.x, R1.x;

#Tex0.x = n/Width
#Tex0.y = m/Height
MUL R0.x, R1.x, R2.x;
MUL R0.y, R1.y, R2.y;

#Fetch Current Texture Position
TEX R0, R0, TEX0, 2D;
TEX R1, f[TEX2], TEX2, 2D;
TEX R2, f[TEX1], TEX1, 2D;

#Multiply these two elements
MAD R0, R0, R1, R2;


MOV o[COLR], R0;
END

⌨️ 快捷键说明

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