📄 matvectorrectmultimultitex.fp
字号:
#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.y, R5;
#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.z, R5;
#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.w, R5;
#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 10---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX12
TEX R3, f[TEX0], TEX12, RECT;
#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.x, R2;
#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.y, R5;
#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.z, R5;
#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.w, R5;
#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 11---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX13
TEX R3, f[TEX0], TEX13, RECT;
#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.x, R2;
#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.y, R5;
#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.z, R5;
#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.w, R5;
#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 12---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX14
TEX R3, f[TEX0], TEX14, RECT;
#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.x, R2;
#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.y, R5;
#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.z, R5;
#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.w, R5;
#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 13---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX15
TEX R3, f[TEX0], TEX15, RECT;
#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.x, R2;
#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.y, R5;
#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.z, R5;
#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};
# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;
#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;
#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;
#Multiply Ai*x
MAD R5, R4, R3.w, R5;
#--------------------------------------------------------------------------------------
#Final Step
#Multiply these two elements
MOV o[COLR], R5;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -