add matrix offset constants
This commit is contained in:
parent
9ac0aa22d8
commit
db35095b67
2 changed files with 45 additions and 12 deletions
20
dlist.asm
20
dlist.asm
|
@ -105,23 +105,23 @@ WriteDList:
|
|||
|
||||
la t8, view_mat1
|
||||
|
||||
sh s2, 0x20(t8) // xx lo
|
||||
sh s2, MAT_XX_FRAC(t8)
|
||||
sra t9, s2, 16
|
||||
sh t9, 0x00(t8) // xx hi
|
||||
sh t9, MAT_XX(t8)
|
||||
|
||||
subu v0, r0, v0
|
||||
sh v0, 0x24(t8) // xz lo
|
||||
sh v0, MAT_XZ_FRAC(t8)
|
||||
sra t9, v0, 16
|
||||
sh t9, 0x04(t8) // xz hi
|
||||
sh t9, MAT_XZ(t8)
|
||||
|
||||
subu v0, r0, v0
|
||||
sh v0, 0x30(t8) // zx lo
|
||||
sh v0, MAT_ZX_FRAC(t8)
|
||||
sra t9, v0, 16
|
||||
sh t9, 0x10(t8) // zx hi
|
||||
sh t9, MAT_ZX(t8)
|
||||
|
||||
sh s2, 0x34(t8) // zz lo
|
||||
sh s2, MAT_ZZ_FRAC(t8)
|
||||
sra t9, s2, 16
|
||||
sh t9, 0x14(t8) // zz hi
|
||||
sh t9, MAT_ZZ(t8)
|
||||
|
||||
or a0, s0, r0
|
||||
or a1, s1, r0
|
||||
|
@ -216,10 +216,6 @@ view_mat0:
|
|||
constant PERSPECTIVE_NORMALIZATION($00FF)
|
||||
|
||||
view_mat1:
|
||||
// xx 0x00, xy 0x02, xz 0x04, xw 0x06
|
||||
// yx 0x08, yy 0x0A, yz 0x0C, yw 0x0E
|
||||
// zx 0x10, zy 0x12, zz 0x14, zw 0x16
|
||||
// wx 0x18, wy 0x1A, wz 0x1C, ww 0x1E
|
||||
Mat.X($0001'0000, $0000'0000, $0000'0000, $0000'0000)
|
||||
Mat.Y($0000'0000, $0001'0000, $0000'0000, $0000'0000)
|
||||
Mat.Z($0000'0000, $0000'0000, $0001'0000, $0000'0000)
|
||||
|
|
|
@ -3,6 +3,43 @@ constant G_SETCIMB_UPPER_WORD(0xFF180000)
|
|||
} else {
|
||||
constant G_SETCIMB_UPPER_WORD(0xFF100000)
|
||||
}
|
||||
|
||||
constant MAT_XX(0x00)
|
||||
constant MAT_XY(0x02)
|
||||
constant MAT_XZ(0x04)
|
||||
constant MAT_XW(0x06)
|
||||
constant MAT_YX(0x08)
|
||||
constant MAT_YY(0x0A)
|
||||
constant MAT_YZ(0x0C)
|
||||
constant MAT_YW(0x0E)
|
||||
constant MAT_ZX(0x10)
|
||||
constant MAT_ZY(0x12)
|
||||
constant MAT_ZZ(0x14)
|
||||
constant MAT_ZW(0x16)
|
||||
constant MAT_WX(0x18)
|
||||
constant MAT_WY(0x1A)
|
||||
constant MAT_WZ(0x1C)
|
||||
constant MAT_WW(0x1E)
|
||||
|
||||
constant MAT_FRAC(0x20)
|
||||
|
||||
constant MAT_XX_FRAC(MAT_XX + MAT_FRAC)
|
||||
constant MAT_XY_FRAC(MAT_XY + MAT_FRAC)
|
||||
constant MAT_XZ_FRAC(MAT_XZ + MAT_FRAC)
|
||||
constant MAT_XW_FRAC(MAT_XW + MAT_FRAC)
|
||||
constant MAT_YX_FRAC(MAT_YX + MAT_FRAC)
|
||||
constant MAT_YY_FRAC(MAT_YY + MAT_FRAC)
|
||||
constant MAT_YZ_FRAC(MAT_YZ + MAT_FRAC)
|
||||
constant MAT_YW_FRAC(MAT_YW + MAT_FRAC)
|
||||
constant MAT_ZX_FRAC(MAT_ZX + MAT_FRAC)
|
||||
constant MAT_ZY_FRAC(MAT_ZY + MAT_FRAC)
|
||||
constant MAT_ZZ_FRAC(MAT_ZZ + MAT_FRAC)
|
||||
constant MAT_ZW_FRAC(MAT_ZW + MAT_FRAC)
|
||||
constant MAT_WX_FRAC(MAT_WX + MAT_FRAC)
|
||||
constant MAT_WY_FRAC(MAT_WY + MAT_FRAC)
|
||||
constant MAT_WZ_FRAC(MAT_WZ + MAT_FRAC)
|
||||
constant MAT_WW_FRAC(MAT_WW + MAT_FRAC)
|
||||
|
||||
define dpos(0)
|
||||
|
||||
macro WriteDL(evaluate L, evaluate R) {
|
||||
|
|
Loading…
Add table
Reference in a new issue